package main
import (
"fmt"
"sort"
)type person struct
func (p person) string() string
// byage implements sort.inte***ce for person based on
// the age field.
type byage person
func (a byage) len() int
func (a byage) swap(i, j int)
func (a byage) less(i, j int) bool
/*func float64s(a float64)
將型別為float64的slice a以公升序方式進行排序
func float64saresorted(a float64) bool
判定是否已經進行排序func ints(a int)
func ints(a int)
以公升序排列 int 切片。
func intsaresorted(a int) bool
判斷 int 切片是否已經按公升序排列。
func issorted(data inte***ce) bool
判斷資料是否已經排序。包括各種可sort的資料型別的判斷.
func strings(a string)
以公升序排列 string 切片。
func stringsaresorted(a string) bool
判斷 string 切片是否已經按公升序排列。
func sort(data inte***ce)
對 data 進行排序(不保證相等元素的相對順序不變)
data 預設為公升序,執行 reverse 後為降序。
func stable(data inte***ce)
對 data 進行排序(保證相等元素的相對順序不變)
data 預設為公升序,執行 reverse 後為降序。
func reverse(data inte***ce) inte***ce
將 data 的排序動作更改為降序,reverse 並不改變元素順序,只改變排序行為。
更改操作不可逆,更改後的物件不可以再次 reverse。
*/func main() ,
, ,
, }sort.sort(byage(people))
fmt.println(people)
}
package main
import (
"fmt"
"math/rand"
"time"
)func main()
/*隨機數
開始數字
結束陣列
生成多少個(返回的是個陣列,這裡是開始到結束範圍內,不重複的數子)
*/func generaterandomnumber(start int, end int, count int) int
nums := make(int, 0)
r := rand.new(rand.newsource(time.now().unixnano()))
for len(nums) < count
} if !exist
} return nums
}
package main
import (
"fmt"
"sort"
)func main()
a.sort() // 二分法必須先排序
// 獲取首字母大於 n 的元素中最小的
i := sort.search(len(a), func(i int) bool )
// 顯示找到的元素
fmt.println(a[i]) // sort
}
golang隨機數採坑
突然發現golang產生的隨機數並不是那麼隨機而是有一定規律的 先看一段 package main import fmt time math rand func main 我想產生乙個隨機5分鐘的休眠,而現實是我有大量的客戶端請求api,這個請求實時性要求並不高,為了避免所有客戶端同一時間請求api...
生成隨機數工具
部落格主頁 寫測試 的時候經常需要產生一堆隨機數,比如排序時定義乙個鍊錶,手動輸入一串隨機數總是很麻煩。如 listlist lists.newarraylist 37,96,81,13,49,20,64,56,22,86,60,20,80,1,98,70,71,12,10,44,89,48,20,...
產生隨機數工具類
package com.qiyuan.util import org.apache.commons.lang.randomstringutils import org.apache.commons.lang.math.randomutils public class randomnumberutil...