golang的堆很好使用, 自定义数据结构,但是这个结构要实现3个接口,包含sort.interface,push,pop三个接口,具体如下
type Interface interface { sort.Interface Push(x interface{}) // 向末尾添加元素 Pop() interface{} // 从末尾删除元素 }
sort.Interface具体如下
type Interface interface { // Len方法返回集合中的元素个数 Len() int // Less方法报告索引i的元素是否比索引j的元素小 Less(i, j int) bool // Swap方法交换索引i和j的两个元素 Swap(i, j int) }
实现接口之后,使用init初始化堆,之后可