This Python program implements a basic stack data structure with the following operations:

`is_empty()`

: Checks if the stack is empty.`push(item)`

: Pushes an item onto the stack.`pop()`

: Pops (removes and returns) an item from the stack.`peek()`

: Returns the top item of the stack without removing it.`size()`

: Returns the size (number of elements) of the stack.

In computer science, a stack is a linear data structure that follows the Last-In-First-Out (LIFO) principle. It operates like a stack of items, where the last item added is the first one to be removed. Stacks are commonly used in various algorithms and applications, such as managing function calls in programming languages, parsing expressions, and more.

## Problem Statement

Implement a stack data structure in Python with basic operations like push, pop, and peek (view the top element), and demonstrate how it works.

## Python Program to Implement Stack

class Stack: def __init__(self): self.items = [] def push(self, item): self.items.append(item) def pop(self): if not self.is_empty(): return self.items.pop() else: return None # Stack is empty def peek(self): if not self.is_empty(): return self.items[-1] else: return None # Stack is empty def is_empty(self): return len(self.items) == 0 def size(self): return len(self.items) # Example usage if __name__ == "__main__": stack = Stack() print("Stack is empty:", stack.is_empty()) # Output: Stack is empty: True stack.push(5) stack.push(10) stack.push(15) print("Stack size:", stack.size()) # Output: Stack size: 3 print("Top element:", stack.peek()) # Output: Top element: 15 popped_item = stack.pop() print("Popped item:", popped_item) # Output: Popped item: 15 print("Stack size after pop:", stack.size()) # Output: Stack size after pop: 2

## How It Works

- The
`Stack`

class is defined with methods`push`

,`pop`

,`peek`

,`is_empty`

, and`size`

to manage the stack operations. - The
`push`

method appends an item to the end of the list, simulating the action of pushing onto the stack. - The
`pop`

method removes and returns the last item in the list, simulating the action of popping from the stack. - The
`peek`

method returns the last item in the list without removing it, allowing you to view the top element. - The
`is_empty`

method checks if the stack is empty by examining the length of the list. - The
`size`

method returns the number of elements in the stack. - Example usage demonstrates creating a stack, performing operations, and printing the results.

## Leave a Review