Implementation of Stack in Python

LIFO Last In First Out in Stack

Overview of Stack Data Structure πŸ€”πŸ˜—

  • A stack is an ordered collection of items where the addition of new items and the removal of existing items always takes place at the same end.
  • This end is commonly referred to as the β€œtop.”
  • The end opposite the top is known as the β€œbase.”
  • The base of the stack is significant since items stored in the stack that are closer to the base represent those that have been in the stack the longest.
  • The most recently added item is the one that is in position to be removed first.
  • This ordering principle is sometimes called LIFO, last-in-first-out. πŸ‘ˆπŸ˜²
LIFO, last-in-first-out in Stack
  • It provides an ordering based on the length of time in the collection.
  • Newer items are near the top, while older items are near the base.
  • Note how the first items “pushed” to the stack begin at the base, and as items are “popped” out.
  • Stacks are fundamentally important, as they can be used to reverse the order of items.
  • The order of insertion is the reverse of the order of removal.
  • Considering this reversal property, you can perhaps think of examples of stacks that occur as you use your computer. For example, every web browser has a Back button. πŸ€”πŸ€“
  • As you navigate from web page to web page, those pages are placed on a stack (actually it is the URLs that are going on the stack). 😍😍
  • The current page that you are viewing is on the top and the first page you looked at is at the base.
  • If you click on the Back button, you begin to move in reverse order through the pages.

Now we are going to implement our own Stack class πŸ‘‡πŸ‘‡

class Stack:

	def __init__(self):

		self.items = []

	def isEmpty(self) -> bool:

		return self.items == []

	def push(self, data: any) -> list:


	def pop(self) -> any:

		return self.items.pop()

	def peek(self) -> any:

		return self.items[len(self.items) - 1]

	def size(self) -> int:

		return len(self.items)

s = Stack()

#Add element to Stack

#size of stack
n = s.size()
print("Stack Size {}".format(n))

#delete element 

#pick top element

#check empty

Recommended Reading: Balanced Parentheses Check in Python πŸ‘ˆ

Follow Me ❀😊

If you like my post please follow me to read my latest post on programming and technology.



Leave a Reply

Your email address will not be published. Required fields are marked *