Data Structure
Data Structure
class LinkedList:
def __init__(self):
self.head = None
def display(self):
current = self.head
if not current:
print("List is empty.")
return
while current:
print(current.data, end=" -> ")
current = current.next
print("None")
def delete(self, key):
current = self.head
if current and current.data == key:
self.head = current.next
current = None
return
prev = None
while current and current.data != key:
prev = current
current = current.next
if current is None:
print("Element not found.")
return
prev.next = current.next
current = None
class Stack:
def __init__(self):
self.stack = []
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
print("Stack is empty.")
return None
def display(self):
if self.is_empty():
print("Stack is empty.")
else:
print("Stack elements: ", end="")
print(*self.stack)
def is_empty(self):
return len(self.stack) == 0
class Queue:
def __init__(self):
self.queue = []
def dequeue(self):
if not self.is_empty():
return self.queue.pop(0)
else:
print("Queue is empty.")
return None
def display(self):
if self.is_empty():
print("Queue is empty.")
else:
print("Queue elements: ", end="")
print(*self.queue)
def is_empty(self):
return len(self.queue) == 0
def main():
linked_list = LinkedList()
stack = Stack()
queue = Queue()
while True:
print("\nMenu:")
print("1. Linked List Operations")
print("2. Stack Operations")
print("3. Queue Operations")
print("4. Exit")
if choice == 1:
print("\nLinked List Operations:")
print("1. Append to Linked List")
print("2. Display Linked List")
print("3. Delete from Linked List")
print("4. Back to Main Menu")
elif choice == 2:
print("\nStack Operations:")
print("1. Push to Stack")
print("2. Pop from Stack")
print("3. Display Stack")
print("4. Back to Main Menu")
elif choice == 3:
print("\nQueue Operations:")
print("1. Enqueue to Queue")
print("2. Dequeue from Queue")
print("3. Display Queue")
print("4. Back to Main Menu")
elif choice == 4:
print("Exiting the program.")
break
else:
print("Invalid choice. Try again.")
if __name__ == "__main__":
main()