diff options
Diffstat (limited to 'src/pkg/container/heap/example_intheap_test.go')
-rw-r--r-- | src/pkg/container/heap/example_intheap_test.go | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/pkg/container/heap/example_intheap_test.go b/src/pkg/container/heap/example_intheap_test.go deleted file mode 100644 index 02d3d8668..000000000 --- a/src/pkg/container/heap/example_intheap_test.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// This example demonstrates an integer heap built using the heap interface. -package heap_test - -import ( - "container/heap" - "fmt" -) - -// An IntHeap is a min-heap of ints. -type IntHeap []int - -func (h IntHeap) Len() int { return len(h) } -func (h IntHeap) Less(i, j int) bool { return h[i] < h[j] } -func (h IntHeap) Swap(i, j int) { h[i], h[j] = h[j], h[i] } - -func (h *IntHeap) Push(x interface{}) { - // Push and Pop use pointer receivers because they modify the slice's length, - // not just its contents. - *h = append(*h, x.(int)) -} - -func (h *IntHeap) Pop() interface{} { - old := *h - n := len(old) - x := old[n-1] - *h = old[0 : n-1] - return x -} - -// This example inserts several ints into an IntHeap, checks the minimum, -// and removes them in order of priority. -func Example_intHeap() { - h := &IntHeap{2, 1, 5} - heap.Init(h) - heap.Push(h, 3) - fmt.Printf("minimum: %d\n", (*h)[0]) - for h.Len() > 0 { - fmt.Printf("%d ", heap.Pop(h)) - } - // Output: - // minimum: 1 - // 1 2 3 5 -} |