数据结构:双向链表(二)
双向链表的操作
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

浙公网安备 33010602011771号