def append(self, elem): if self._head is None: # empty list self._head = LNode(elem, self._head) self._rear = self._head else: self._rear.next = LNode(elem) self._rear = self._rear.next
def prepend(self, elem): # add element in the front end p = LNode(elem) if self._rear is None: p.next = p # initiates circle self._rear = p else: p.next = self._rear.next self._rear.next = p
def append(self, elem): if self._head is None: self._head = LNode(elem) return p = self._head while p.next: p = p.next p.next = LNode(elem)
def __init__(self, elem, prev=None, next_=None): LNode.__init__(self, elem, next_) self.prev = prev
def push(self, elem): self._top = LNode(elem, self._top)
def prepend(self, elem): self._head = LNode(elem, self._head)
def prepend(self, elem): if self._head is None: self._head = LNode(elem, self._head) self._rear = self._head else: self._head = LNode(elem, self._head)