Skip to content

Commit e392289

Browse files
committed
Added items iterator to Heap
Signed-off-by: Tim Henderson <[email protected]>
1 parent e625081 commit e392289

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

heap/pq.go

+13
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,19 @@ func (h *Heap) Peek() interface{} {
9696
return h.list[0].item
9797
}
9898

99+
func (h *Heap) Items() (it types.Iterator) {
100+
i := 0
101+
return func() (item interface{}, next types.Iterator) {
102+
var e entry
103+
if i < len(h.list) {
104+
e = h.list[i]
105+
i++
106+
return e.item, it
107+
}
108+
return nil, nil
109+
}
110+
}
111+
99112
func (h *Heap) fixUp(k int) {
100113
parent := (k+1)/2 - 1
101114
for k > 0 {

0 commit comments

Comments
 (0)