dsa.stack module
Module containing stack classes.
- class dsa.stack.DynamicStack(capacity=10)
Bases:
StackA dynamic stack implementation.
- check_capacity()
Check the capacity of the stack. If count >= capacity, grow the array If count <= 1/4 of capacity, shrink the array
- grow()
Helper method to double the capacity of the current array.
- pop()
Return an element from the stack. Automatically shrinks array if capacity is 4x the count.
- Returns:
The top element in the stack.
- Raises:
Exception – When the stack is empty.
- push(element)
Push an element into the stack. Automatically grows array if capacity needs to increase.
- Parameters:
element – The element to push.
- Returns:
None
- shrink()
Helper method to halve the capacity of the current array.
- class dsa.stack.Stack(capacity=10)
Bases:
objectA static stack implementation.
- capacity()
Return the capacity of the stack.
- count
number of elements in stack
- classmethod from_list(alist)
Set the contents of a stack from a list. Raise Exception when trying to push more elements than the capacity.
- Parameters:
alist (
list) – The list with contents to set as an array.
- is_empty()
Return a Boolean on whether the stack is empty or not.
- peek()
Return the element from the top of the stack. Raise Exception if stack is empty.
- Returns:
The top element in the stack.
- Raises:
Exception – When the stack is empty.
- pop()
Pop an element from the stack. Raise Exception when there are no elements to pop.
- Returns:
The top element in the stack.
- Raises:
Exception – When the stack is empty.
- push(element)
Push an element into the stack. Raise Exception when trying to push more elements than the capacity.
- Parameters:
element – The element to push.
- Raises:
Exception – When the capacity is reached.
- to_list()
Return the contents of the stack as an array.
- top()
Return the top index of the stack.