A great analogy we can utilize is stacking a heap of books. We tend to ceaselessly keep a shiny new book on top and take away the top most book
What is a stack ?
Stack is a linear data structure which stores items using Last In, First Out(LIFO)
strategy. Whenever a new element is added to a stack, it is added to the highest point of the stack, and the top element is taken out first from the stack.
Stack in Python can be executed in following ways:
- List
- collections.deque
- queue.LifoQueue
Some of the functions related with stack are:
- push():When this function is called, new element is added at the top of the stack
- pop():This function removes the top most element of the stack
- empty():Return True if the stack is empty else returns False
- peek(): This function returns the top element of the stack
Implementation of Stack
class Stack(): def __init__(self): self.items = [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def is_empty(self): return self.items == [] def peek(self): if not self.is_empty(): return self.items[-1] def get_stack(self): return self.items s=Stack() print("Stack is Empty:",s.is_empty()) s.push("A") s.push("B") s.push("C") s.push("D") s.push("E") s.push("F") print("Stack after appending =",s.get_stack()) s.pop() s.pop() print("Stack after removing elements =",s.get_stack()) print("Peek element =",s.peek())
Output:
Stack is Empty: True Stack after appending = ['A', 'B', 'C', 'D', 'E', 'F'] Stack after removing elements = ['A', 'B', 'C', 'D'] Peek element = D
Top comments (0)