Skip to content

Deque ADT

Deque (ABC)

A deque is an ADT that supports insertion and removal of elements from either end. It's also referred to as a double-ended queue.

__len__(self) special

Get the total number of elements stored in the deque

Returns:

Type Description
int

count of elements in deque

Source code in deques/deque.py
@abstractmethod
def __len__(self) -> int:
    """Get the total number of elements stored in the deque

    :returns: count of elements in deque
    """
    pass

dequeue_first(self)

Remove first element of the deque and return it

Returns:

Type Description
Any

first element of deque

Source code in deques/deque.py
@abstractmethod
def dequeue_first(self) -> Any:
    """Remove first element of the deque and return it

    :return: first element of deque
    """
    pass

dequeue_last(self)

Remove last element of the deque and return it

Returns:

Type Description
Any

last element of deque

Source code in deques/deque.py
@abstractmethod
def dequeue_last(self) -> Any:
    """Remove last element of the deque and return it

    :return: last element of deque
    """
    pass

enqueue_first(self, x)

Insert an element to the front of the deque

Parameters:

Name Type Description Default
x Any

element to add to the deque

required
Source code in deques/deque.py
@abstractmethod
def enqueue_first(self, x: Any) -> None:
    """Insert an element to the front of the deque

    :param x: element to add to the deque
    """
    pass

enqueue_last(self, x)

Insert an element to the end of the deque

Parameters:

Name Type Description Default
x Any

element to add to the deque

required
Source code in deques/deque.py
@abstractmethod
def enqueue_last(self, x: Any) -> None:
    """Insert an element to the end of the deque

    :param x: element to add to the deque
    """
    pass

get_first(self)

Return first element of the deque without removing it

Returns:

Type Description
Any

first element of deque

Source code in deques/deque.py
@abstractmethod
def get_first(self) -> Any:
    """Return first element of the deque without removing it

    :return: first element of deque
    """
    pass

get_last(self)

Return last element of the deque without removing it

Returns:

Type Description
Any

last element of deque

Source code in deques/deque.py
@abstractmethod
def get_last(self) -> Any:
    """Return last element of the deque without removing it

    :return: last element of deque
    """
    pass

is_empty(self)

Check if deque contains no elements

Returns:

Type Description
bool

True if deque is empty, else False

Source code in deques/deque.py
@abstractmethod
def is_empty(self) -> bool:
    """Check if deque contains no elements

    :return: True if deque is empty, else False
    """
    pass