Go排序範例


Go語言的 sort 包實現了內建和使用者定義型別的排序。我們先看看內建的排序。排序方法特定於內建型別; 這裡是一個字串的例子。 請注意,排序是就地排序,因此它會更改給定的切片,並且不返回新的切片。

這裡例舉一個排序int型別數值的一個例子。

也可以使用sort來檢查切片是否已經按照排序順序。

執行程式列印排序的字串,以及int資料值和true作為AreSorted測試的結果。

所有的範例程式碼,都放在 F:\worksp\golang 目錄下。安裝Go程式設計環境請參考:/2/23/798.html

sorting.go的完整程式碼如下所示 -

package main

import "fmt"
import "sort"

func main() {

    // Sort methods are specific to the builtin type;
    // here's an example for strings. Note that sorting is
    // in-place, so it changes the given slice and doesn't
    // return a new one.
    strs := []string{"c", "a", "b"}
    sort.Strings(strs)
    fmt.Println("Strings:", strs)

    // An example of sorting `int`s.
    ints := []int{7, 2, 4}
    sort.Ints(ints)
    fmt.Println("Ints:   ", ints)

    // We can also use `sort` to check if a slice is
    // already in sorted order.
    s := sort.IntsAreSorted(ints)
    fmt.Println("Sorted: ", s)
}

執行上面程式碼,將得到以下輸出結果 -

F:\worksp\golang>go run sorting.go
Strings: [a b c]
Ints:    [2 4 7]
Sorted:  true