数据结构:双向链表(二)
双向链表的操作
add(item)在头部添加一个新元素
思路:当链表为空,让self.__head=node即可
当链表不为空,要让链表中第一个节点向前指向新的节点self.__head.prev=node;此外,将新节点下一个指向原来的第一个节点,即node.next=self.__head
最后让self.__head=node就可以了
class Node(object): def __init__(self,item): self.item=item self.prev=None self.next=None class DLinkList(object): def __init__(self): self.__head=None def add(self,item): node= Node(item) if self.__head==None: self.__head=node else: self.__head.prev=node node.next=self.__head self.__head=node