您好,登錄后才能下訂單哦!
這篇文章主要講解了“Go語言sort中的sortInts方法怎么用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Go語言sort中的sortInts方法怎么用”吧!
我們知道,常見查找算法有順序查找和二分查找。而二分查找就是基于有序數據的查找方法。而 Go 語言中的 sort
包就提供了以下幾種查找的方法:
SearchInts(slice ,val)
SearchFloats(slice, val)
SearchStrings(slice, val)
Searh(count, testFunc)
SearchInts()
函數是 sort 包的內置函數,用于在排序的整數切片中搜索給定元素 x
,并返回 Search()
指定的索引。
它接受兩個參數(a []int, x int
):
a 是 int 類型的排序切片,
x 是要搜索的 int 類型元素,并返回Search()
指定的索引
注意:如果 x
不存在,可能是 len(a)
,SearchInts()
結果是插入元素 x
的索引。切片必須按升序排序。
語法結構如下:
func SearchInts(a []int, x int) int
返回值: SearchInts()
函數的返回類型是 int,它返回 Search 指定的索引。
例子一:
package main import ( "fmt" "sort" ) func main() { ints := []int{2025, 2019, 2012, 2002, 2022} sortInts := make([]int, len(ints)) copy(sortInts, ints) sort.Ints(sortInts) fmt.Println("Ints: ", ints) fmt.Println("Ints Sorted: ", sortInts) indexOf2022 := sort.SearchInts(sortInts, 2022) fmt.Println("Index of 2022: ", indexOf2022) }
運行該代碼:
$ go run main.go
Ints: [2025 2019 2012 2002 2022]
Ints Sorted: [2002 2012 2019 2022 2025]
Index of 2022: 3
例子二:
package main import ( "fmt" "sort" ) func main() { a := []int{10, 20, 25, 27, 30} x := 25 i := sort.SearchInts(a, x) fmt.Printf("Element %d found at index %d in %v\n", x, i, a) x = 5 i = sort.SearchInts(a, x) fmt.Printf("Element %d not found, it can inserted at index %d in %v\n", x, i, a) x = 40 i = sort.SearchInts(a, x) fmt.Printf("Element %d not found, it can inserted at index %d in %v\n", x, i, a) }
運行結果:
Element 25 found at index 2 in [10 20 25 27 30]
Element 5 not found, it can inserted at index 0 in [10 20 25 27 30]
Element 40 not found, it can inserted at index 5 in [10 20 25 27 30]
感謝各位的閱讀,以上就是“Go語言sort中的sortInts方法怎么用”的內容了,經過本文的學習后,相信大家對Go語言sort中的sortInts方法怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。