单链表操作之遍历

几乎数组上所有的操作都是基于索引的,而索引是数组结构一个不可或缺的部分。在链表结构上,必须通过操作结构在的链接来模拟基于索引的操作。

访问链表的每一个节点,而不删除它们,这种操作叫做遍历。

它使用的是临时的指针变量,这个变量先初始化链表结构的head指针,然后控制一个循环,如下:

# coding: utf-8
class Node(object):
    def __init__(self, data, next=None):
        self.data = data
        self.next = next


head = None

for count in range(1,6):
    head = Node(count, head)
    print head.data, head.next,head


probe = head
while probe != None:
    probe = probe.next
    print probe
print head

 在上述代码结束的时候,probe指针是None,但是head指针仍然引用第一个节点。

通常遍历一个单链表结构会访问每一个节点,但是当遇到一个空链接的时候终止。因此,值None充当负责停止这个过程的哨兵。

遍历在时间上是线性的,并且不需要额外的内存。

结束!

posted @ 2020-09-04 10:00  aaronthon  阅读(1864)  评论(0编辑  收藏  举报