def append(self,item): q = NodeInfo(item) if self.head == 0: self.head = q else: p = self.head while p.nextnode != 0: p = p.nextnode p.nextnode = q q.prevnode = p
def initlist(self,data): self.head = NodeInfo(data[0]) p = self.head for i in data[1:]: node = NodeInfo(i) p.nextnode = node node.prevnode = p p = p.nextnode
def insert(self,index,item): if self.is_empty() or index < 0 or index > self.getlength(): print 'Linklist is empty.' return if index == 0: q = NodeInfo(item,self.head) self.head = q p = self.head post = self.head j = 0 while p.nextnode != 0 and j < index: post = p p = p.nextnode j += 1 if index == j: q = NodeInfo(item,p) post.nextnode = q#? q.prevnode = post q.nextnode = p p.prevnode = q