class node: def __init__(self, pdata): self.data = pdata self.pointer = None class linkedlist: def __init__(self): self.head = None def insertfront(self, pdata): newnode = node(pdata) if self.head is None: self.head = newnode return else: newnode.pointer = self.head self.head = newnode def insertindex(self, data, index): newnode = node(data) currentnode = self.head pos = 0 if pos == index: self.insertfront(data) else: while (currentnode != None and pos+1 != index): pos+=1 currentnode = currentnode.pointer if currentnode != None: newnode.pointer = currentnode.pointer currentnode.pointer = newnode else: print("index not present") def insertEnd(self, data): newnode = node(data) if self.head is None: self.insertfront(data) return else: currentnode = self.head while (currentnode.pointer): currentnode = currentnode.pointer currentnode.pointer = newnode def Output(self): currentnode = self.head while (currentnode.pointer != None): print(currentnode.data) currentnode = currentnode.pointer print(currentnode.data) def Delfront(self): if self.head == None: return else: self.head = self.head.pointer def Dellast(self): if self.head == None: return elif self.head.pointer == None: self.Delfront() else: currentnode = self.head while currentnode.pointer.pointer != None: currentnode = currentnode.pointer currentnode.pointer = None #def deleteatend(self): print("af, means add to front of linked listn" "al, means add to last of linked listn" "ai, means add to index of linked listn" "df, means delete from front of linked listn" "dl, means delete from last of linked listn" "di, means delete from index of linked listn" "o, means output linked listn") x = "" llist = linkedlist() while x != "e": x = input("What do you want to do to the linked listn>>>") if x == "af": y = input("Enter the data") llist.insertfront(y) elif x == "al": y = input("Enter the data") llist.insertEnd(y) elif x == "ai": y = input("Enter the data") index = int(input("Enter the index location")) llist.insertindex(y, index - 1) elif x == "df": llist.Delfront() elif x == "dl": llist.Dellast() elif x == "o": print("Llist is starting>") llist.Output() print("<Thats all folks") else: print("please input something appropriate")