Versions in this module Expand all Collapse all v0 v0.0.2 Nov 15, 2022 Changes in this version + const EmptyStackTopIndex + var ErrStackEmpty = errors.New("stack empty") + type ArrayStack struct + func NewArrayStack() *ArrayStack[T] + func (x *ArrayStack[T]) Clear() + func (x *ArrayStack[T]) IsEmpty() bool + func (x *ArrayStack[T]) IsNotEmpty() bool + func (x *ArrayStack[T]) Peek() T + func (x *ArrayStack[T]) PeekE() (T, error) + func (x *ArrayStack[T]) Pop() T + func (x *ArrayStack[T]) PopE() (T, error) + func (x *ArrayStack[T]) Push(values ...T) + func (x *ArrayStack[T]) Size() int + func (x *ArrayStack[T]) String() string + type Comparator func(a T, b T) int + type LinkedStack struct + func NewLinkedStack() *LinkedStack[T] + func (x *LinkedStack[T]) Clear() + func (x *LinkedStack[T]) IsEmpty() bool + func (x *LinkedStack[T]) IsNotEmpty() bool + func (x *LinkedStack[T]) Peek() T + func (x *LinkedStack[T]) PeekE() (T, error) + func (x *LinkedStack[T]) Pop() T + func (x *LinkedStack[T]) PopE() (T, error) + func (x *LinkedStack[T]) Push(values ...T) + func (x *LinkedStack[T]) Size() int + func (x *LinkedStack[T]) String() string + type MaxNode struct + type MaxStack struct + func NewMaxStack(comparator Comparator[T]) *MaxStack[T] + func (x *MaxStack[T]) Clear() + func (x *MaxStack[T]) GetMax() T + func (x *MaxStack[T]) GetMaxE() (T, error) + func (x *MaxStack[T]) IsEmpty() bool + func (x *MaxStack[T]) IsNotEmpty() bool + func (x *MaxStack[T]) Peek() T + func (x *MaxStack[T]) PeekE() (T, error) + func (x *MaxStack[T]) Pop() T + func (x *MaxStack[T]) PopE() (T, error) + func (x *MaxStack[T]) Push(values ...T) + func (x *MaxStack[T]) Size() int + func (x *MaxStack[T]) String() string + type MinNode struct + type MinStack struct + func NewMinStack(comparator Comparator[T]) *MinStack[T] + func (x *MinStack[T]) Clear() + func (x *MinStack[T]) GetMin() T + func (x *MinStack[T]) GetMinE() (T, error) + func (x *MinStack[T]) IsEmpty() bool + func (x *MinStack[T]) IsNotEmpty() bool + func (x *MinStack[T]) Peek() T + func (x *MinStack[T]) PeekE() (T, error) + func (x *MinStack[T]) Pop() T + func (x *MinStack[T]) PopE() (T, error) + func (x *MinStack[T]) Push(values ...T) + func (x *MinStack[T]) Size() int + func (x *MinStack[T]) String() string + type Node struct + type Stack interface + Clear func() + IsEmpty func() bool + IsNotEmpty func() bool + Peek func() T + PeekE func() (T, error) + Pop func() T + PopE func() (T, error) + Push func(values ...T) + Size func() int + String func() string + func NewStack() Stack[T] + type SyncArrayStack struct + func NewSyncArrayStack() *SyncArrayStack[T] + func (x *SyncArrayStack[T]) Clear() + func (x *SyncArrayStack[T]) IsEmpty() bool + func (x *SyncArrayStack[T]) IsNotEmpty() bool + func (x *SyncArrayStack[T]) Peek() T + func (x *SyncArrayStack[T]) PeekE() (T, error) + func (x *SyncArrayStack[T]) Pop() T + func (x *SyncArrayStack[T]) PopE() (T, error) + func (x *SyncArrayStack[T]) Push(values ...T) + func (x *SyncArrayStack[T]) Size() int + func (x *SyncArrayStack[T]) String() string + type SyncLinkedStack struct + func NewSyncLinkedStack() *SyncLinkedStack[T] + func (x *SyncLinkedStack[T]) Clear() + func (x *SyncLinkedStack[T]) IsEmpty() bool + func (x *SyncLinkedStack[T]) IsNotEmpty() bool + func (x *SyncLinkedStack[T]) Peek() T + func (x *SyncLinkedStack[T]) PeekE() (T, error) + func (x *SyncLinkedStack[T]) Pop() T + func (x *SyncLinkedStack[T]) PopE() (T, error) + func (x *SyncLinkedStack[T]) Push(values ...T) + func (x *SyncLinkedStack[T]) Size() int + func (x *SyncLinkedStack[T]) String() string + type SyncMaxStack struct + func NewSyncMaxStack(comparator Comparator[T]) *SyncMaxStack[T] + func (x *SyncMaxStack[T]) Clear() + func (x *SyncMaxStack[T]) GetMax() T + func (x *SyncMaxStack[T]) GetMaxE() (T, error) + func (x *SyncMaxStack[T]) IsEmpty() bool + func (x *SyncMaxStack[T]) IsNotEmpty() bool + func (x *SyncMaxStack[T]) Peek() T + func (x *SyncMaxStack[T]) PeekE() (T, error) + func (x *SyncMaxStack[T]) Pop() T + func (x *SyncMaxStack[T]) PopE() (T, error) + func (x *SyncMaxStack[T]) Push(values ...T) + func (x *SyncMaxStack[T]) Size() int + func (x *SyncMaxStack[T]) String() string + type SyncMinStack struct + func NewSyncMinStack(comparator Comparator[T]) *SyncMinStack[T] + func (x *SyncMinStack[T]) Clear() + func (x *SyncMinStack[T]) GetMin() T + func (x *SyncMinStack[T]) GetMinE() (T, error) + func (x *SyncMinStack[T]) IsEmpty() bool + func (x *SyncMinStack[T]) IsNotEmpty() bool + func (x *SyncMinStack[T]) Peek() T + func (x *SyncMinStack[T]) PeekE() (T, error) + func (x *SyncMinStack[T]) Pop() T + func (x *SyncMinStack[T]) PopE() (T, error) + func (x *SyncMinStack[T]) Push(values ...T) + func (x *SyncMinStack[T]) Size() int + func (x *SyncMinStack[T]) String() string