HomePythonPython Program to Implement Stack using Linked List

Python Program to Implement Stack using Linked List

In this Python program, we’ll delve into the implementation of a stack data structure using a linked list. Stacks are essential in various computing applications, and understanding this implementation will provide insights into combining linked lists to create a functional stack.

Problem statement

The task is to create a Python program that demonstrates the implementation of a stack using a linked list. This program will help you comprehend the basic principles of stacks and linked lists.

Python Program to Implement Stack using Linked List

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class Stack:
    def __init__(self):
        self.top = None

    def push(self, data):
        new_node = Node(data)
        if not self.top:
            self.top = new_node
        else:
            new_node.next = self.top
            self.top = new_node

    def pop(self):
        if not self.top:
            return None
        popped = self.top.data
        self.top = self.top.next
        return popped

    def peek(self):
        return self.top.data if self.top else None

    def is_empty(self):
        return self.top is None

# Example usage
if __name__ == "__main__":
    stack = Stack()
    stack.push(10)
    stack.push(20)
    stack.push(30)
    
    print("Top element:", stack.peek())
    print("Popped element:", stack.pop())
    print("Is the stack empty?", stack.is_empty())

Input / Output

Python Program to Implement Stack using Linked List

Leave A Reply

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

You May Also Like

In this Python program, we will create a singly linked list and remove duplicate elements from it. A linked list...
This Python program solves the Celebrity Problem by finding a person who is known by everyone but does not know...
This Python program uses a recursive approach to solve the n-Queens problem. It explores all possible combinations of queen placements...