Как отсортировать целые кусочки в Голанге?
В языке Go фрагмент более мощный, гибкий, удобный, чем массив, и представляет собой легкую структуру данных. Срез представляет собой последовательность переменной длины, в которой хранятся элементы аналогичного типа, вам не разрешается хранить элементы разных типов в одном срезе.
Язык Go позволяет сортировать элементы фрагмента по его типу. Итак, срез типа int сортируется с помощью следующих функций. Эти функции определены в пакете сортировки, поэтому вам необходимо импортировать пакет сортировки в свою программу для доступа к этим функциям:
1. Ints: эта функция используется только для сортировки среза целых чисел и сортирует элементы среза в порядке возрастания.
Синтаксис:
func Ints (slc [] int)
Здесь slc представляет собой часть целых чисел. Обсудим эту концепцию на примере:
Пример:
// Go program to illustrate how // to sort the slice of ints package main import ( "fmt" "sort" ) // Main function func main() { // Creating and initializing slices // Using shorthand declaration scl1 := [] int {400, 600, 100, 300, 500, 200, 900} scl2 := [] int {-23, 567, -34, 67, 0, 12, -5} // Displaying slices fmt.Println( "Slices(Before):" ) fmt.Println( "Slice 1: " , scl1) fmt.Println( "Slice 2: " , scl2) // Sorting the slice of ints // Using Ints function sort.Ints (scl1) sort.Ints (scl2) // Displaying the result fmt.Println( "
Slices(After):" ) fmt.Println( "Slice 1 : " , scl1) fmt.Println( "Slice 2 : " ,scl2) } |
Выход:
Ломтики (до): Срез 1: [400 600 100 300 500 200 900] Срез 2: [-23 567-34 67 0 12-5] Ломтики (после): Срез 1: [100 200 300 400 500 600 900] Срез 2: [-34-23-5 0 12 67 567]
2. IntsAreSorted: эта функция используется для проверки того, находится ли данный фрагмент целых чисел в отсортированной форме (в порядке возрастания) или нет. Этот метод возвращает true, если фрагмент находится в отсортированном виде, или возвращает false, если фрагмент не в отсортированном виде.
Синтаксис:
func IntsAreSorted (scl [] int) bool
Здесь scl представляет собой часть целых чисел . Обсудим эту концепцию на примере:
Example:
// Go program to illustrate how to check // whether the given slice of ints is in // sorted form or not package main import ( "fmt" "sort" ) // Main function func main() { // Creating and initializing slices // Using shorthand declaration scl1 := [] int {100, 200, 300, 400, 500, 600, 700} scl2 := [] int {-23, 567, -34, 67, 0, 12, -5} // 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 IntsAreSorted function res1 := sort.IntsAreSorted(scl1) res2 := sort.IntsAreSorted(scl2) // Displaying the result fmt.Println( "
Result:" ) fmt.Println( "Is Slice 1 is sorted?: " , res1) fmt.Println( "Is Slice 2 is sorted?: " , res2) } |
Выход:
Ломтики: Срез 1: [100 200 300 400 500 600 700] Срез 2: [-23 567-34 67 0 12-5] Результат: Слайс 1 отсортирован ?: true Слайс 2 отсортирован ?: false