Golang二分查找(适用任意类型,只需实现接口)
package main import ( "fmt" ) type SortedList interface { Len() int Cmp(i int) int8 } type Person struct { age int } type SortedIntList []Person func (p Person) Cmp(cmp Person) int8 { if p.age == cmp.age { return 0 } else if p.age > cmp.age { return 1 } else { return -1 } } func (s SortedIntList) Cmp(i int) int8 { return s[i].Cmp(s[len(s)-1]) } fun...阅读全文