Update sstack.go

This commit is contained in:
lupin17 2025-12-21 18:37:18 +01:00 committed by GitHub
parent 2e5cd21edf
commit 20dfef2418
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -52,6 +52,7 @@ func newSstack[P cmp.Ordered, V any](setIndex SetIndexCallback[V]) *sstack[P, V]
// Push a value onto the stack, expanding it if necessary. Required by
// heap.Interface.
func (s *sstack[P, V]) Push(data any) {
item := data.(*item[P, V])
if s.size == s.capacity {
s.active = make([]*item[P, V], blockSize)
s.blocks = append(s.blocks, s.active)
@ -62,9 +63,9 @@ func (s *sstack[P, V]) Push(data any) {
s.offset = 0
}
if s.setIndex != nil {
s.setIndex(data.(*item[P, V]).value, s.size)
s.setIndex(item.value, s.size)
}
s.active[s.offset] = data.(*item[P, V])
s.active[s.offset] = item
s.offset++
s.size++
}