婷婷免费高清视频在线观看,亚洲午夜在线一区,免费高清日本中文,精品一区久久,久久不射影院,玖玖国产精品,性感大胸美女比基尼

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

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

func Strings(a []string)

Strings函數(shù)對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函數(shù)返回一個實現(xiàn)了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類型,該類型實現(xiàn)了sort.Interface接口。然后,我們使用sort.Reverse函數(shù)對myInts類型的切片進行反向排序。

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

Search函數(shù)使用二分查找算法在長度為n的有序切片中查找滿足f函數(shù)的最小索引。如果不存在這樣的索引,則返回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函數(shù)查找大于或等于5的元素的最小索引。由于切片中的第3個元素為5,因此該函數(shù)返回2。

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

SearchInts函數(shù)使用二分查找算法在已排序的整型切片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函數(shù)查找5的索引。由于切片中的第3個元素為5,因此該函數(shù)返回2。

關鍵詞:

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

熱門資訊

文成县| 郸城县| 石渠县| 斗六市| 江油市| 海阳市| 内丘县| 三门峡市| 双辽市| 宿州市| 汝城县| 连云港市| 普兰县| 桂林市| 绥化市| 中江县| 东城区| 平山县| 防城港市| 铁力市| 增城市| 呼伦贝尔市| 方城县| 南城县| 琼中| 云霄县| 新竹县| 岳阳县| 全椒县| 永年县| 娱乐| 和硕县| 永清县| 青浦区| 长沙市| 通江县| 泸西县| 霍城县| 肃南| 垫江县| 专栏|