Shrjeel A2
Shrjeel A2
class listnode :
def __init__(self) :
self.data = ""
self.pointer = NullPointer
def initialiselist() :
list = [listnode() for i in range(8)]
startpointer = NullPointer
freelistptr = 0
for index in range(7) :
list[index].pointer = index + 1
list[7].pointer = NullPointer
return(list, startpointer, freelistptr)
if previousnodeptr == NullPointer :
list[newnodeptr].pointer = startpointer
startpointer = newnodeptr
else:
list[newnodeptr].pointer = list[previousnodeptr].pointer
list[previousnodeptr].pointer = newnodeptr
else:
print("no space for more data")
return(list, startpointer, freelistptr)
def findnode(list, startpointer, dataitem) :
currentnodeptr = startpointer
while currentnodeptr != NullPointer :
currentnodeptr = list[currentnodeptr].pointer
return(currentnodeptr)
def getoption():
print("1: insert a value")
print("2: delete a value")
print("3: find a value")
print("4: output a value")
print("5: end program")
option = input(" enter your choice: ")
return(option)
option = getoption()
while option != "5":
if option == "1":
data = input("enter the value:")
list, startpointer, freelistptr = insertnode(list, startpointer,
freelistptr, data)
OutputAllNodes(list, startpointer)
elif option == "2" :
data = input("enter the value:")
list, startpointer, freelistptr = DeleteNode(list, startpointer,
freelistptr, data)
OutputAllNodes(list, startpointer)
elif option == "3":
data = input("enter the value:")
currentptr = findnode(list, startpointer, data)
if currentptr == NullPointer:
print("data not found")
print(startpointer, freelistptr)
for i in range(8):
print(i, " ", list[i].data, " ", list[i].pointer)
elif option == "4" :
OutputAllNodes(list, startpointer)
option = getoption()