真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

GO常用包學習筆記sort:排序相關(guān)(三)-創(chuàng)新互聯(lián)

Package sort

對數(shù)組切片進行排序操作;判斷是否已正序排序;使用二分法從切片中查找一個元素(要先正序排序)。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設計、成都做網(wǎng)站與策劃設計,黔西南州網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設10年,網(wǎng)設計領(lǐng)域的專業(yè)建站公司;建站業(yè)務涵蓋:黔西南州等地區(qū)。黔西南州做網(wǎng)站價格咨詢:13518219792

 對基本類型的切片排序

 []float64,[]int,[]string的排序(遞增),判斷可以直接使用以下六個方法

func Float64s(a []float64)

func Ints(a []int)

func Strings(a []string)

func Float64sAreSorted(a []float64) bool

func IntsAreSorted(a []int) bool

func StringsAreSorted(a []string) bool

以上6個方法都是間接通過排序接口"Interface"進行排序的

通過實現(xiàn)Interface接口對自定義類型的數(shù)組切片進行排序

需實現(xiàn)接口的三個方法

 Len() int //長度

 Less(i, j int) bool //比較

 Swap(i, j int)  //交換

 滿足接口的集合就可以使用以下四個方法

func Sort(data Interface)  //排序 不保證相等的元素排序前后的順序

func IsSorted(data Interface) bool //判斷是否正序

func Stable(data Interface) //排序 保證相等的元素排序前后的順序

func Reverse(data Interface) Interface //(排序前)修改排序接口的比大小方法

基本類型的排序就是通過如下三個實現(xiàn)了Interface接口的對象來實現(xiàn)的

 type Float64Slice    //type Float64Slice []float64

   func (p Float64Slice) Len() int

   func (p Float64Slice) Less(i, j int) bool

   func (p Float64Slice) Search(x float64) int

   func (p Float64Slice) Sort()

   func (p Float64Slice) Swap(i, j int)

type IntSlice

   func (p IntSlice) Len() int

   func (p IntSlice) Less(i, j int) bool

   func (p IntSlice) Search(x int) int

   func (p IntSlice) Sort()

   func (p IntSlice) Swap(i, j int)

type StringSlice

   func (p StringSlice) Len() int

   func (p StringSlice) Less(i, j int) bool

   func (p StringSlice) Search(x string) int

   func (p StringSlice) Sort()

   func (p StringSlice) Swap(i, j int)

 上面幾個Search方法(二分法,要先遞增排序才能用)通過下面三個方法實現(xiàn)

func SearchFloat64s(a []float64, x float64) int

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

func SearchStrings(a []string, x string) int

 而這三個方法調(diào)用了Search方法

func Search(n int, f func(int) bool) int  //二分法

Go1.8新增的排序方法

func Slice(slice interface{}, less func(i, j int) bool)  //排序 不保證相同的元素的次序

func SliceStable(slice interface{}, less func(i, j int) bool)//排序 保證排序后相同的元素的先后順序不變

func SliceIsSorted(slice interface{}, less func(i, j int) bool) bool //是否為正序排列

入?yún)lice必須是一個數(shù)組切片,否則發(fā)生panic

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享名稱:GO常用包學習筆記sort:排序相關(guān)(三)-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/dhpjes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部