¿Cómo ordenar una porción de float64s en Golang?

El segmento de lenguaje de Go es más poderoso, flexible y conveniente que una array y es una estructura de datos liviana. El segmento es una secuencia de longitud variable que almacena elementos de un tipo similar, no está permitido almacenar diferentes tipos de elementos en el mismo segmento. El idioma de Go le permite ordenar los elementos del sector según su tipo. Entonces, un segmento de tipo float64 se ordena usando las siguientes funciones. Estas funciones se definen en el paquete de clasificación, por lo que debe importar el paquete de clasificación en su programa para acceder a estas funciones:

1. Float64s: esta función se usa para ordenar solo una porción de float64s y ordena los elementos de la porción en orden creciente.

Sintaxis:

func Float64s(slc []float64)

Aquí, slc representa una porción de float64 . Analicemos este concepto con la ayuda de un ejemplo:

Ejemplo:

// Go program to illustrate how
// to sort a slice of float64s
package main
  
import (
    "fmt"
    "sort"
)
  
// Main function
func main() {
  
    // Creating and initializing slices
    // Using shorthand declaration
    scl1 := []float64{9.56, 4.56, 2.4,
                 10, 43, 0.56, 35.246}
      
    scl2 := []float64{38.32, -32.23, 
               -45.56, 23.45, -0.43}
  
    // Displaying slices
    fmt.Println("Slice(Before):")
    fmt.Println("Slice 1: ", scl1)
    fmt.Println("Slice 2: ", scl2)
  
    // Sorting the elements of the slice
    // Using Float64s function
    sort.Float64s(scl1)
    sort.Float64s(scl2)
  
    // Displaying the result
    fmt.Println("\nSlice(After):")
    fmt.Println("Slice 1: ", scl1)
    fmt.Println("Slice 2: ", scl2)
}

Producción:

Slice(Before):
Slice 1:  [9.56 4.56 2.4 10 43 0.56 35.246]
Slice 2:  [38.32 -32.23 -45.56 23.45 -0.43]

Slice(After):
Slice 1:  [0.56 2.4 4.56 9.56 10 35.246 43]
Slice 2:  [-45.56 -32.23 -0.43 23.45 38.32]

2. Float64sAreSorted: esta función se usa para verificar si la porción dada de float64s está ordenada (en orden creciente) o no. Este método devuelve verdadero si el segmento está ordenado, o devuelve falso si el segmento no está ordenado.

Sintaxis:

func Float64sAreSorted(scl []float64) bool

Aquí, scl representa una porción de float64s. Analicemos este concepto con la ayuda de un ejemplo:

Ejemplo:

// Go program to illustrate how to check whether the
// given slice of float64 is in sorted form or not
package main
  
import (
    "fmt"
    "sort"
)
  
// Main function
func main() {
  
    // Creating and initializing slices
    // Using shorthand declaration
    scl1 := []float64{9.56, 4.56, 2.4,
                 10, 43, 0.56, 35.246}
      
    scl2 := []float64{-45.56, -32.23,
                 -0.43, 23.45, 38.32}
  
    // Displaying slices
    fmt.Println("Slices:")
    fmt.Println("Slice 1: ", scl1)
    fmt.Println("Slice 2: ", scl2)
  
    // Checking the slice is in sorted form or not
    // Using Float64sAreSorted  function
    res1 := sort.Float64sAreSorted(scl1)
    res2 := sort.Float64sAreSorted(scl2)
  
    // Displaying the result
    fmt.Println("\nResult:")
    fmt.Println("Is Slice 1 is sorted?: ", res1)
    fmt.Println("Is Slice 2 is sorted?: ", res2)
}

Producción:

Slices:
Slice 1:  [9.56 4.56 2.4 10 43 0.56 35.246]
Slice 2:  [-45.56 -32.23 -0.43 23.45 38.32]

Result:
Is Slice 1 is sorted?:  false
Is Slice 2 is sorted?:  true

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *