几乎数组上所有的操作都是基于索引的,而索引是数组结构一个不可或缺的部分。在链表结构上,必须通过操作结构在的链接来模拟基于索引的操作。
访问链表的每一个节点,而不删除它们,这种操作叫做遍历。
它使用的是临时的指针变量,这个变量先初始化链表结构的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充当负责停止这个过程的哨兵。
遍历在时间上是线性的,并且不需要额外的内存。
结束!