Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockingDeque ¶ added in v1.9.2
func NewUnboundedBlockingDeque ¶ added in v1.9.2
func NewUnboundedBlockingDeque[T any](initSize int) BlockingDeque[T]
Returns a new unbounded deque with the given initial size. Note that the returned deque is always empty -- [initSize] is just a hint to prevent unnecessary resizing.
type Deque ¶ added in v1.9.2
type Deque[T any] interface { // Place an element at the leftmost end of the deque. // Returns true if the element was placed in the deque. PushLeft(T) bool // Place an element at the rightmost end of the deque. // Returns true if the element was placed in the deque. PushRight(T) bool // Remove and return the leftmost element of the deque. // Returns false if the deque is empty. PopLeft() (T, bool) // Remove and return the rightmost element of the deque. // Returns false if the deque is empty. PopRight() (T, bool) // Return the leftmost element of the deque without removing it. // Returns false if the deque is empty. PeekLeft() (T, bool) // Return the rightmost element of the deque without removing it. // Returns false if the deque is empty. PeekRight() (T, bool) // Returns the element at the given index. // Returns false if the index is out of bounds. // The leftmost element is at index 0. Index(int) (T, bool) // Returns the number of elements in the deque. Len() int // Returns the elements in the deque from left to right. List() []T }
An unbounded deque (double-ended queue). See https://en.wikipedia.org/wiki/Double-ended_queue Not safe for concurrent access.
func NewUnboundedDeque ¶ added in v1.9.2
Returns a new unbounded deque with the given initial slice size. Note that the returned deque is always empty -- [initSize] is just a hint to prevent unnecessary resizing.
Click to show internal directories.
Click to hide internal directories.