Documentation
¶
Index ¶
- type MinPriorityQueue
- func (pq *MinPriorityQueue[T]) Clear()
- func (pq *MinPriorityQueue[T]) Dequeue() (T, int, error)
- func (pq *MinPriorityQueue[T]) Enqueue(value T, priority int) *PriorityItem[T]
- func (pq *MinPriorityQueue[T]) ForEach(fn func(value T, priority int) bool)
- func (pq *MinPriorityQueue[T]) FromSlice(items []T, priorities []int) error
- func (pq *MinPriorityQueue[T]) IsEmpty() bool
- func (pq *MinPriorityQueue[T]) Len() int
- func (pq *MinPriorityQueue[T]) Less(i, j int) bool
- func (pq *MinPriorityQueue[T]) Peek() (T, int, error)
- func (pq *MinPriorityQueue[T]) Pop() any
- func (pq *MinPriorityQueue[T]) Push(x any)
- func (pq *MinPriorityQueue[T]) Size() int
- func (pq *MinPriorityQueue[T]) Swap(i, j int)
- func (pq *MinPriorityQueue[T]) ToSlice() []T
- func (pq *MinPriorityQueue[T]) UpdatePriority(item *PriorityItem[T], priority int)
- type OrderedMap
- func (m *OrderedMap[K, V]) Clear()
- func (m *OrderedMap[K, V]) Delete(key K)
- func (m *OrderedMap[K, V]) First() (K, V, error)
- func (m *OrderedMap[K, V]) ForEach(fn func(key K, value V) bool)
- func (m *OrderedMap[K, V]) Get(key K) (V, bool)
- func (m *OrderedMap[K, V]) GoString() string
- func (m *OrderedMap[K, V]) Has(key K) bool
- func (m *OrderedMap[K, V]) Items() []OrderedMapItem[K, V]
- func (m *OrderedMap[K, V]) Keys() []K
- func (m *OrderedMap[K, V]) Last() (K, V, error)
- func (m *OrderedMap[K, V]) Len() int
- func (m *OrderedMap[K, V]) MarshalJSON() ([]byte, error)
- func (m *OrderedMap[K, V]) Set(key K, value V)
- func (m *OrderedMap[K, V]) String() string
- func (m *OrderedMap[K, V]) UnmarshalJSON(data []byte) error
- func (m *OrderedMap[K, V]) Values() []V
- type OrderedMapItem
- type PriorityItem
- type PriorityQueue
- func (pq *PriorityQueue[T]) Clear()
- func (pq *PriorityQueue[T]) Dequeue() (T, int, error)
- func (pq *PriorityQueue[T]) Enqueue(value T, priority int) *PriorityItem[T]
- func (pq *PriorityQueue[T]) ForEach(fn func(value T, priority int) bool)
- func (pq *PriorityQueue[T]) FromSlice(items []T, priorities []int) error
- func (pq *PriorityQueue[T]) IsEmpty() bool
- func (pq *PriorityQueue[T]) Len() int
- func (pq *PriorityQueue[T]) Less(i, j int) bool
- func (pq *PriorityQueue[T]) Peek() (T, int, error)
- func (pq *PriorityQueue[T]) Pop() any
- func (pq *PriorityQueue[T]) Push(x any)
- func (pq *PriorityQueue[T]) Size() int
- func (pq *PriorityQueue[T]) Swap(i, j int)
- func (pq *PriorityQueue[T]) ToSlice() []T
- func (pq *PriorityQueue[T]) UpdatePriority(item *PriorityItem[T], priority int)
- type Queue
- func (q *Queue[T]) Clear()
- func (q *Queue[T]) Dequeue() (item T, err error)
- func (q *Queue[T]) Enqueue(item T)
- func (q *Queue[T]) FromSlice(items []T)
- func (q *Queue[T]) GoString() string
- func (q *Queue[T]) IsEmpty() bool
- func (q *Queue[T]) MarshalJSON() ([]byte, error)
- func (q *Queue[T]) Peek() (item T, err error)
- func (q *Queue[T]) Size() int
- func (q *Queue[T]) String() string
- func (q *Queue[T]) ToSlice() []T
- func (q *Queue[T]) UnmarshalJSON(data []byte) error
- type Stack
- func (s *Stack[T]) Clear()
- func (s *Stack[T]) FromSlice(items []T)
- func (s *Stack[T]) GoString() string
- func (s *Stack[T]) IsEmpty() bool
- func (s *Stack[T]) MarshalJSON() ([]byte, error)
- func (s *Stack[T]) Peek() (item T, err error)
- func (s *Stack[T]) Pop() (item T, err error)
- func (s *Stack[T]) Push(item T)
- func (s *Stack[T]) Size() int
- func (s *Stack[T]) String() string
- func (s *Stack[T]) ToSlice() []T
- func (s *Stack[T]) UnmarshalJSON(data []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MinPriorityQueue ¶
type MinPriorityQueue[T any] struct { // contains filtered or unexported fields }
MinPriorityQueue 最小优先队列实现(优先级值越小越优先)
func NewMinPriorityQueue ¶
func NewMinPriorityQueue[T any]() *MinPriorityQueue[T]
NewMinPriorityQueue 创建新的最小优先队列
func (*MinPriorityQueue[T]) Dequeue ¶
func (pq *MinPriorityQueue[T]) Dequeue() (T, int, error)
Dequeue 出队
func (*MinPriorityQueue[T]) Enqueue ¶
func (pq *MinPriorityQueue[T]) Enqueue(value T, priority int) *PriorityItem[T]
Enqueue 入队
func (*MinPriorityQueue[T]) ForEach ¶
func (pq *MinPriorityQueue[T]) ForEach(fn func(value T, priority int) bool)
ForEach 遍历优先队列(按优先级顺序)
func (*MinPriorityQueue[T]) FromSlice ¶
func (pq *MinPriorityQueue[T]) FromSlice(items []T, priorities []int) error
FromSlice 从切片创建优先队列
func (*MinPriorityQueue[T]) IsEmpty ¶
func (pq *MinPriorityQueue[T]) IsEmpty() bool
IsEmpty 检查队列是否为空
func (*MinPriorityQueue[T]) Less ¶
func (pq *MinPriorityQueue[T]) Less(i, j int) bool
Less 实现 heap.Interface,优先级低的在前
func (*MinPriorityQueue[T]) Peek ¶
func (pq *MinPriorityQueue[T]) Peek() (T, int, error)
Peek 查看队首元素
func (*MinPriorityQueue[T]) Push ¶
func (pq *MinPriorityQueue[T]) Push(x any)
Push 实现 heap.Interface
func (*MinPriorityQueue[T]) Swap ¶
func (pq *MinPriorityQueue[T]) Swap(i, j int)
Swap 实现 heap.Interface
func (*MinPriorityQueue[T]) ToSlice ¶
func (pq *MinPriorityQueue[T]) ToSlice() []T
ToSlice 转换为切片(按优先级顺序)
func (*MinPriorityQueue[T]) UpdatePriority ¶
func (pq *MinPriorityQueue[T]) UpdatePriority(item *PriorityItem[T], priority int)
UpdatePriority 更新元素优先级
type OrderedMap ¶
type OrderedMap[K comparable, V any] struct { // contains filtered or unexported fields }
OrderedMap 有序字典实现
func NewOrderedMap ¶
func NewOrderedMap[K comparable, V any]() *OrderedMap[K, V]
NewOrderedMap 创建新的有序字典
func (*OrderedMap[K, V]) ForEach ¶
func (m *OrderedMap[K, V]) ForEach(fn func(key K, value V) bool)
ForEach 遍历所有键值对(按插入顺序)
func (*OrderedMap[K, V]) GoString ¶
func (m *OrderedMap[K, V]) GoString() string
GoString 实现 GoStringer 接口
func (*OrderedMap[K, V]) Items ¶
func (m *OrderedMap[K, V]) Items() []OrderedMapItem[K, V]
Items 获取所有键值对(按插入顺序)
func (*OrderedMap[K, V]) MarshalJSON ¶
func (m *OrderedMap[K, V]) MarshalJSON() ([]byte, error)
MarshalJSON 实现 json.Marshaler 接口
func (*OrderedMap[K, V]) UnmarshalJSON ¶
func (m *OrderedMap[K, V]) UnmarshalJSON(data []byte) error
UnmarshalJSON 实现 json.Unmarshaler 接口
type OrderedMapItem ¶
type OrderedMapItem[K comparable, V any] struct { Key K Value V }
OrderedMapItem 有序字典项
type PriorityItem ¶
PriorityItem 优先队列项
type PriorityQueue ¶
type PriorityQueue[T any] struct { // contains filtered or unexported fields }
PriorityQueue 优先队列实现
func (*PriorityQueue[T]) Enqueue ¶
func (pq *PriorityQueue[T]) Enqueue(value T, priority int) *PriorityItem[T]
Enqueue 入队
func (*PriorityQueue[T]) ForEach ¶
func (pq *PriorityQueue[T]) ForEach(fn func(value T, priority int) bool)
ForEach 遍历优先队列(按优先级顺序)
func (*PriorityQueue[T]) FromSlice ¶
func (pq *PriorityQueue[T]) FromSlice(items []T, priorities []int) error
FromSlice 从切片创建优先队列
func (*PriorityQueue[T]) Less ¶
func (pq *PriorityQueue[T]) Less(i, j int) bool
Less 实现 heap.Interface,优先级高的在前
func (*PriorityQueue[T]) UpdatePriority ¶
func (pq *PriorityQueue[T]) UpdatePriority(item *PriorityItem[T], priority int)
UpdatePriority 更新元素优先级
type Queue ¶
type Queue[T any] struct { // contains filtered or unexported fields }
Queue 泛型队列实现
func (*Queue[T]) MarshalJSON ¶
MarshalJSON 实现 json.Marshaler 接口
func (*Queue[T]) UnmarshalJSON ¶
UnmarshalJSON 实现 json.Unmarshaler 接口
type Stack ¶
type Stack[T any] struct { // contains filtered or unexported fields }
Stack 栈实现
func (*Stack[T]) MarshalJSON ¶
MarshalJSON 实现 json.Marshaler 接口
func (*Stack[T]) UnmarshalJSON ¶
UnmarshalJSON 实现 json.Unmarshaler 接口