DSA PRG1
DSA PRG1
PROGRAM: 14
class Node:
def __init__(self, name, value):
self.name = name
self.value = value
self.next = None
class HashTable:
def __init__(self):
self.hash_table = [None] * 10 # Create hash table with 10 slots
def display(self):
for i in range(10):
temp = self.hash_table[i]
print(f"a[{i}] : ", end="")
while temp:
print(f"->{temp.name} ({temp.value})", end=" ")
temp = temp.next
print()
h = HashTable()
while True:
print("\nTelephone Directory: \n1.Insert \n2.Display \n3.Search \n4.Delete \n5.Exit")
try:
choice = int(input("\nOPTION: "))
except ValueError:
print("\nInvalid input. Please enter a valid option.")
continue
if choice == 1:
name = input("\nEnter name: ")
data = int(input("Enter phone number: "))
h.insert_element(name, data)
elif choice == 2:
h.display()
elif choice == 3:
search = int(input("\nEnter the phone number to be searched: "))
result = h.search_element(search)
print(result)
elif choice == 4:
del_val = int(input("\nEnter the phone number to be deleted: "))
h.delete_element(del_val)
print("Phone number deleted")
elif choice == 5:
break
else:
print("\nInvalid choice, please try again.")
OUTPUT: