Golang - 堆的实现
接口要求 Go 的标准库 container/heap 定义了一个接口(heap.Interface),我们只需要让自己的数据类型满足这个接口,然后就可以使用 container/heap 包里提供的 Init, Push, Pop 等函数来对我们的数据进行堆操作。 核心就是实现 heap.Interface 接口。这个接口包含了 sort.Interface 的三个方法和它自己定义的两个方法。 heap.Interface 的定义如下: type Interface interface { sort.Interface // 包含了 Len(), Less(i, j int) bool, Swap(i, j int) Push(x any) // 在末尾添加元素 Pop() any…