Module dalpy.stacks

This module holds classes related to LIFO stacks.

This module contains Stack, an implementation of a LIFO stack, and StackUnderflowError, an error raised by Stack.

Examples

Initializing, adding, and removing elements from a Stack:

s = Stack()
s.push(1)
s.push(2)
s.pop()

The following code will raise a StackUnderflowError because the second pop is done on an empty Stack:

s.pop()
s.pop()

Classes

class Stack

This class represents a LIFO stack that has no maximum capacity.

Examples

To initialize a Stack:

s = Stack()

To add elements to the end of s:

s.push(1)
s.push(2)

To remove and return the element at the top of s (in this case x = 2):

x = s.pop()

To see the element at the top of s (in this case y = 1):

y = s.top()

Initializes an empty Stack in O(1) time.

Methods

def is_empty(self)

Returns True if this Stack is empty, False otherwise in O(1) time w/r/t the size of this Stack.

def pop(self)

Removes the element at the top of this Stack.

This operation runs in O(1) time with respect to the size of this Stack.

Returns

The element at the top of the Stack that was removed. That is, the element that was last added to this Stack of the elements in it.

Raises

StackUnderflowError
If this Stack is empty.
def push(self, value)

Adds an element to the top of this Stack.

This operation runs in O(1) time with respect to the size of this Stack.

Args

value
Element to add to this Stack. It can be of any type.
def size(self)

Returns the integer number of elements in this Stack in O(1) time w/r/t the size of this Stack.

def top(self)

Gets the element at the top of this Stack.

This operation runs in O(1) time with respect to the size of this Stack.

Returns

The element at the top of the Stack. That is, the element that was last added to this Stack of the elements in it.

Raises

StackUnderflowError
If this Stack is empty.
class StackUnderflowError (operation)

This class is used by Stack to raise errors for operations done on an empty Stack.

Initializes a StackUnderflowError that will be raised associated with a particular Stack operation.

Args

operation
a string specifying the operation to raise an error on

Ancestors

  • builtins.Exception
  • builtins.BaseException