<dd id="ehej5"></dd>
        1. 
          
          <tbody id="ehej5"></tbody>

          Go-標準庫-sort(二)-世界新視野

          • 騰訊云
          • 2023-04-28 01:15:12

          func Strings(a []string)

          Strings函數對string類型的切片進行升序排序。

          示例:


          (資料圖)

          package mainimport (    "fmt"    "sort")func main() {    arr := []string{"apple", "banana", "pear", "orange", "grape"}    sort.Strings(arr)    fmt.Println(arr) // Output: [apple banana grape orange pear]}

          func Reverse(data Interface) Interface

          Reverse函數返回一個實現了sort.Interface接口的新對象,該對象可以對被排序的元素進行反向排序。

          示例:

          package mainimport (    "fmt"    "sort")type myInts []intfunc (a myInts) Len() int           { return len(a) }func (a myInts) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }func (a myInts) Less(i, j int) bool { return a[i] < a[j] }func main() {    arr := myInts{3, 1, 4, 1, 5, 9, 2, 6, 5, 3}    sort.Sort(sort.Reverse(arr))    fmt.Println(arr) // Output: [9 6 5 5 4 3 3 2 1 1]}

          上面的例子中,我們定義了一個myInts類型,該類型實現了sort.Interface接口。然后,我們使用sort.Reverse函數對myInts類型的切片進行反向排序。

          func Search(n int, f func(int) bool) int

          Search函數使用二分查找算法在長度為n的有序切片中查找滿足f函數的最小索引。如果不存在這樣的索引,則返回n。

          示例:

          package mainimport (    "fmt"    "sort")func main() {    arr := []int{1, 3, 5, 7, 9}    fmt.Println(sort.Search(len(arr), func(i int) bool { return arr[i] >= 5 })) // Output: 2}

          上面的例子中,我們定義了一個長度為5的有序整型切片,并使用sort.Search函數查找大于或等于5的元素的最小索引。由于切片中的第3個元素為5,因此該函數返回2。

          func SearchInts(a []int, x int) int

          SearchInts函數使用二分查找算法在已排序的整型切片a中查找x的索引。如果x不存在于a中,則返回值為將x插入a后的索引。

          示例:

          package mainimport (    "fmt"    "sort")func main() {    arr := []int{1, 3, 5, 7, 9}    fmt.Println(sort.SearchInts(arr, 5)) // Output: 2}

          上面的例子中,我們定義了一個長度為5的有序整型切片,并使用sort.SearchInts函數查找5的索引。由于切片中的第3個元素為5,因此該函數返回2。

          關鍵詞:

          分享到:
          ?
          • 至少輸入5個字符
          • 表情

          熱門資訊

          欧美色色丁香社区

              <dd id="ehej5"></dd>
                1. 
                  
                  <tbody id="ehej5"></tbody>