Commit 41dc7d3a authored by Russ Cox's avatar Russ Cox

container/heap: document what Push and Pop do

Now that vector is gone, there is no precedent to refer to.
This is a confusing point for people looking to use the
package.

R=golang-dev, r, cw
CC=golang-dev
https://golang.org/cl/5322069
parent d615a525
...@@ -11,14 +11,17 @@ import "sort" ...@@ -11,14 +11,17 @@ import "sort"
// Any type that implements heap.Interface may be used as a // Any type that implements heap.Interface may be used as a
// min-heap with the following invariants (established after // min-heap with the following invariants (established after
// Init has been called): // Init has been called or if the data is empty or sorted):
// //
// !h.Less(j, i) for 0 <= i < h.Len() and j = 2*i+1 or 2*i+2 and j < h.Len() // !h.Less(j, i) for 0 <= i < h.Len() and j = 2*i+1 or 2*i+2 and j < h.Len()
// //
// Note that Push and Pop in this interface are for package heap's
// implementation to call. To add and remove things from the heap,
// use heap.Push and heap.Pop.
type Interface interface { type Interface interface {
sort.Interface sort.Interface
Push(x interface{}) Push(x interface{}) // add x as element Len()
Pop() interface{} Pop() interface{} // remove and return element Len() - 1.
} }
// A heap must be initialized before any of the heap operations // A heap must be initialized before any of the heap operations
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment