class Element: def __init__(self,x): self.data = x self.next = None class List: def __init__(self,elem): self.root=elem def append(self,elem): # find last node if self.root == None: self.root=elem return e = self.root while e.next != None: e=e.next e.next=elem def __str__(self): s = "" e = self.root while e != None: s=s+str(e.data)+"-->" e = e.next return s def find(self,x): e = self.root while e != None: if (e.data==x): return e e = e.next return None def insert(self,index,x): # create a new element with x in it if index==0: x.next=self.root self.root=x return walker = self.root i=0 while walker.next and i<(index-1): walker=walker.next i=i+1 x.next=walker.next walker.next=x # main test elem = Element(5) list = List(elem) list.append(Element(8)) list.append(Element(4)) list.insert(1,Element(3)) list.insert(0,Element(2)) print list #print list.find(8).data #print list.find(6) |
