【基础】链表的储存结构说明_入门(python)

 【实现链表的添加】

class ListNode():
    def __init__(self,data=None,nxt=None):
        self.data=data
        self.nxt=nxt

        
class myListNode():
    def __init__(self):
        #初始化一个链表
        self.head = ListNode(0)        
    def construct_node(self):
        '''
        构造一个简单链表 [head(0) -> node1(1) -> node2(2) -> None]
        '''
        #获取头结点
        head = self.head

        # step1
        # 创建一个新节点node1
        node1 = ListNode(1)
        #然后让头结点head指向这个节点node1
        head.nxt = node1


        # step2
        # 创建一个新节点node2
        node2 = ListNode(2)
        #然后让节点node1指向这个节点node2
        node1.nxt = node2
        # 结束:
        # 所有数据都存在node当中
        # head[ node1 , [node2,None] ]
        # 相当于一个嵌套的数据结构,所以可以用递归或者循环来遍历它

  
    def printNode(self):
        node = self.head
        while node:
            print(node.data)
            node=node.nxt
my = myListNode()
my.construct_node()
my.printNode()

 

【Q&A】

1.构造链表的时候数据存储在哪里,以什么形式来存储的?

数据存储在对象node中:node作为成员变量来接收数据,每次调用addit来像node中添加数据。

以嵌套的形式存储:node[ data1, [ data2, None ]  ]

posted @ 2018-12-04 19:25  remly  阅读(1047)  评论(0编辑  收藏  举报