数据结构:双向链表(二)

双向链表的操作

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

  

posted @ 2020-05-14 16:26  Roronoa-Zoro  阅读(124)  评论(0编辑  收藏  举报