Programming & Development / April 19, 2025

Stacks and Queues in Python: Push, Pop, Peek, Enqueue, and Dequeue Operations

stacks queues python data structures push pop peek enqueue dequeue LIFO FIFO interview prep leetcode

Stacks and queues are fundamental linear data structures used in a wide range of programming problems. In Python, you can implement them easily using built-in data structures like lists or collections.

๐Ÿฅž Stack (LIFO - Last In, First Out)

โœ… Operations: push(), pop(), peek(), is_empty()

๐Ÿ”ง Stack Implementation Using List

python

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()
        return None

    def peek(self):
        if not self.is_empty():
            return self.items[-1]
        return None

    def is_empty(self):
        return len(self.items) == 0

    def print_stack(self):
        print(self.items)

๐Ÿงช Stack Usage

python

s = Stack()
s.push(10)
s.push(20)
s.print_stack()     # [10, 20]
print(s.peek())     # 20
s.pop()
s.print_stack()     # [10]

๐Ÿ›ค๏ธ Queue (FIFO - First In, First Out)

โœ… Operations: enqueue(), dequeue(), peek(), is_empty()

๐Ÿ”ง Queue Implementation Using collections.deque

python

from collections import deque

class Queue:
    def __init__(self):
        self.queue = deque()

    def enqueue(self, item):
        self.queue.append(item)

    def dequeue(self):
        if not self.is_empty():
            return self.queue.popleft()
        return None

    def peek(self):
        if not self.is_empty():
            return self.queue[0]
        return None

    def is_empty(self):
        return len(self.queue) == 0

    def print_queue(self):
        print(list(self.queue))

๐Ÿงช Queue Usage

python

q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
q.print_queue()     # [1, 2, 3]
q.dequeue()
q.print_queue()     # [2, 3]
print(q.peek())     # 2

๐Ÿ” Summary

StructureAccess OrderMain OperationsStackLIFOpush(), pop(), peek()QueueFIFOenqueue(), dequeue(), peek()

Both stacks and queues are essential for solving problems involving undo mechanisms, tree/graph traversals, task scheduling, and more.


Comments

No comments yet

Add a new Comment

NUHMAN.COM

Information Technology website for Programming & Development, Web Design & UX/UI, Startups & Innovation, Gadgets & Consumer Tech, Cloud Computing & Enterprise Tech, Cybersecurity, Artificial Intelligence (AI) & Machine Learning (ML), Gaming Technology, Mobile Development, Tech News & Trends, Open Source & Linux, Data Science & Analytics

Categories

Tags

©{" "} Nuhmans.com . All Rights Reserved. Designed by{" "} HTML Codex