common/prque: reset indexOffset in LazyQueue.Reset

Reset replaced the internal queues but left indexOffset unchanged.
After an odd number of refreshes this left setIndex0/setIndex1 mapping
inverted for subsequent use.
This commit is contained in:
Weixie Cui 2026-07-14 20:00:00 +08:00
parent abfb2de574
commit 808f810b5f

View file

@ -75,6 +75,7 @@ func NewLazyQueue[P cmp.Ordered, V any](setIndex SetIndexCallback[V], priority P
func (q *LazyQueue[P, V]) Reset() { func (q *LazyQueue[P, V]) Reset() {
q.queue[0] = newSstack[P, V](q.setIndex0) q.queue[0] = newSstack[P, V](q.setIndex0)
q.queue[1] = newSstack[P, V](q.setIndex1) q.queue[1] = newSstack[P, V](q.setIndex1)
q.indexOffset = 0
} }
// Refresh performs queue re-evaluation if necessary // Refresh performs queue re-evaluation if necessary