1、python中的鏈表如何實現
class Node(object):
def __init__(self, data, next):
self.data = data
self.next = next
if __name__ == '__main__':
head = None
for n in range(1,6):
head = Node(n, head)
while head != None:
print(head.data)
head = head.next
Python程序員使用對象引用建立起節點和鏈表結構。
上面的程序定義了一個節點,並且利用循環生成一個鏈表並訪問列表。
生成的鏈表是這樣的:
大家都知道,使用鏈表的好處,程序向內存申請內存時不要求內存是連續的,這與數組對內存空間在物理上必須連續是不一樣的。鏈表結構的另一個好處是爲刪除和插入節點帶來了好處,不需要移動大量的節點,只需要修改節點“指針”。java和Python中是沒有指針一說的,都是通過引用實現的,C和C++中有指針的概念。
單鏈表結構相對於數組的主要優點不在於時間性能,而在於內存性能。