鍊錶結構的順序搜尋和遍歷是類似的,因為也必須從第1個節點開始且沿著鍊錶直到遇到哨兵。下面例子可能會遇到兩個哨兵:
# coding: utf-8class 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
targetitem = 2
probe =head
while probe != none and targetitem !=probe.data:
probe =probe.next
if probe !=none:
"目標被找到
"else
"沒找到目標
"
毫不奇怪,平均情況下,對於單鏈表結構的順序搜尋是線性的。
結束!
搜尋單鏈表
搜尋單鏈表 include include includevoid getinput struct book book void addbook struct book library void printlibrary struct book library void printbook stru...
單鏈表之基礎操作
ifndef linklist h define linklist h include include include typedef int datatype typedef struct listnode node,pnode,list,plist void initlinklist plist...
單鏈表操作之替換
在單鏈表結構中的替換也利用了遍歷模式。這種情況下,我們在鍊錶結構中搜尋乙個給定項或乙個給定位置,並且用新的項替換該項。第乙個操作,即替換乙個給定的項,並不需要假定目標項在鍊錶結構中。如果目標項不存在,那就不會發生替換,並且該操作返回false。如果目標項存在,新的項會替換它,並且該操作返回true。...