数据结构:双向链表(三)尾部添加元素

双向链表的操作

append(item)

思路:1、当链表为空,直接让self.__head=node即可,因为node前面后面都没有节点

   2、当链表不为空,进入循环,找到尾节点,循环条件为cur !=None ,不再进入时,cur指向尾节点,这时候,让cur.next=node及node.prev=cur

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 append(self,item):
        node=Node(item)
        if self.__head== None:
            self.__head=node
        else:
            cur=self.__head
            while cur != None:
                cur=cur.next
            cur.next=node
            node.prev=cur

  

猜你喜欢

转载自www.cnblogs.com/cong3Z/p/12889691.html