priorityqueue

package
v3.0.0-beta.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2022 License: MIT Imports: 2 Imported by: 17

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BinHeap

type BinHeap[T Item] struct {
	// contains filtered or unexported fields
}

func NewBinHeap

func NewBinHeap[T Item](maxLen uint64) *BinHeap[T]

func (*BinHeap[T]) ExtractMin

func (bh *BinHeap[T]) ExtractMin() T

func (*BinHeap[T]) Insert

func (bh *BinHeap[T]) Insert(item T)

func (*BinHeap[T]) Len

func (bh *BinHeap[T]) Len() uint64

type Item

type Item interface {
	// ID is a unique item identifier
	ID() string

	// Priority returns the Item's priority to sort
	Priority() int64

	// Body is the Item payload
	Body() []byte

	// Context is the Item meta information
	Context() ([]byte, error)
}

Item represents binary heap item

type Queue

type Queue interface {
	Insert(item Item)
	ExtractMin() Item
	Len() uint64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL