Abstract Data Types Python
Abstract Data Types Python
Certainly! Here’s an example of implementing an abstract data type, specifically a stack, in Python:
class Stack:
def __init__(self):
self.stack = []
def push(self, item):
self.stack.append(item)
print("Pushed element:", item)
def pop(self):
if self.is_empty():
print("Abstract Data TypesStack is empty. Cannot pop element.")
return None
item = self.stack.pop()
print("Popped element:", item)
return item
def peek(self):
if self.is_empty():
print("Abstract Data Types Stack is empty.")
return None
return self.stack[-1]
def is_empty(self):
return len(self.stack) == 0
def size(self):
return len(self.stack)
# Example usage
stack = Stack()
stack.push(1)
stack.push(2)
stack.push(3)
print("Stack size:", stack.size())
print("Top element:", stack.peek())
stack.pop()
stack.pop()
stack.pop()
stack.pop()
print("Is stack empty?", stack.is_empty())
Abstract Data Types Python Code Snippets Explaination:
In this example, we define a Stack class that encapsulates the stack operations. The stack is implemented using a Python list. The class provides methods for push, pop, peek, is_empty, and size.
In the example usage section, we create an instance of the Stack class and perform operations like pushing elements, popping elements, peeking the top element, checking the stack size, and checking if the stack is empty.
Feel free to modify and expand upon this example to suit your needs or implement other abstract data types in Python.