資料結構之鍊錶(python實現)

2021-10-23 14:29:06 字數 2841 閱讀 9681

#-*- coding : utf-8 -*-

"""create on 2020/8/20 20:17

filename:lianbiao.py

"""#以單鏈表為例

#建立鍊錶

#定義節點

class

node

:def

__init__

(self,data =

none

,next

=none):

self.data = data

self.

next

=next

#單個建立節點

node1=node(1)

node2=node(2)

node3=node(3)

node1.

next

=node2

node2.

next

=node3

print

(node1.data)

#迴圈建立鍊錶

head=

none

for count in

range(1

,6):

head = node(count, head)

while head !=

none

:print

(head.data)

head = head.

next

#遍歷鍊錶

probe = head

while probe !=

none

: probe = probe.

next

#查詢某個元素

probe = head

item=

4while

(probe!=

none

&item != probe.data)

: probe = probe.

next

if probe !=

none

:print

("found"

)else

:print

("not found"

)#訪問某個元素

index=

2probe=head

while

(index >0)

: probe = probe.

next

index -=

1print

(probe.data)

#替換某個元素

probe=head

item=

3newitem=

30while

(probe!=

none

&item!=probe.data)

: probe=probe.

next

if(probe!=

none):

probe.data=newitem

else

:print

("not found"

)#開始處插入

head=node(newitem,head)

#中間位置插入

if head is

none

or index <=0:

head =node(newitem, head)

else

: probe = head

while index >

1and probe.

next

!=none

: probe = probe.

next

index -=

1 probe.

next

= node(newitem, probe.

next

)#末尾插入

nnode=node(newitem)

if(head is

none):

head=newitem

else

: probe=head

while

(probe.

next

!=none):

probe=probe.

next

probe.

next

=nnode

#開始處刪除

head=head.

next

#中間刪除

if index <=

0or head.

next

isnone

: head = head.

next

else

: probe = head

while index >

1and probe.

next

.next

!=none

: probe = probe.

next

index -=

1 probe.

next

= probe.

next

.next

#末尾刪除

if(head.

next

isnone):

head=

none

else

: probe=head

while

(probe.

next

!=none):

probe=probe.

next

probe.

next

=none

資料結構 Python實現 之鍊錶

理解資料結構最好的方式就是用腦洞把它想象出來。一 節點 class node def init self,data none self.data data self.left none self.right none node node 5 現在請你閉眼在腦海創造一片虛無縹緲的空間,空間裡產生乙個盒...

資料結構 鍊錶(Python實現)

鍊錶這個資料結構在我們做題時非常常見,鍊錶上的每乙個元素都包含了兩個值,乙個值是自身的值,另外乙個值則是指向下乙個元素的位址,這樣一整個鍊錶才能夠串連起來。如下所示 其中第乙個為單鏈表,每乙個元素都指向了下乙個元素,最後乙個元素指向了none。那麼我們如何使用python來實現乙個最基本的單鏈表呢?...

python資料結構之鍊錶

鍊錶 linked list 由於python是動態語言,可以直接把物件賦值給新的變數,於是在python一切皆為物件的原理上實現鍊錶的各項操作。在實現鍊錶python類的屬性和方法操作之前,先整理一些鍊錶的理論知識。一 鍊錶的基本結構鍊錶是通過乙個個節點 node 組成的,每個節點都包含了稱為資料...