單向鍊錶(Python)

2021-08-28 23:03:31 字數 1502 閱讀 7738

以下為結點的定義:

class node():

def __init__(self,value,next = none):

self.value = value

self.next = next

length = 0 #鍊錶的長度,規定只有乙個頭結點時長度為0

判斷鍊錶是否為空:

def isempty():

return length == 0

將結點node插入到head之後:

def headinsert(head,node):  

node.next = head.next

head.next = node

global length

length += 1

將結點插入到鍊錶尾:

def tailinsert(head,node):                         

p = head

while p.next != none:

p = p.next

p.next = node

global length

length += 1

給乙個結點,將新結點插入到給定結點之前:

def nodeinsert(onode,node):                  

node.next = onode.next

onode.next = node

node.value,onode.value = onode.value,node.value

global length

length += 1

刪除第index個結點:

def delete(head,index):       

global length

if index <= 0 or index > length:

print('index輸錯了。')

else:

p = head

i = 1

while i != index:

p = p.next

i += 1

p.next = p.next.next

length -= 1

快慢指標法找到鍊錶的中間節點:

def findmid(head): 

f = head

s = head

index = 0

while f.next != none and f.next.next != none:

f = f.next.next

s = s.next

index += 1

return index

單向鍊錶 python

class node object def init self self.data data self.nex none 初始化鍊錶 def init self self.head none 從頭結點依次遍歷,直到最後乙個節點 node.nex none 結束。def len self pre se...

Python 實現單向鍊錶

鍊錶顧名思義就是 鏈 鍊錶是一種動態資料結構,他的特點是用一組任意的儲存單元存放資料元素。鍊錶中每乙個元素成為 結點 每乙個結點都是由資料域和指標域組成的。跟陣列不同鍊錶不用預先定義大小,而且硬體支援的話可以無限擴充套件。陣列需要預先定義大小,無法適應資料動態地增減,資料小於定義的長度會浪費記憶體,...

Python 實現單向動態鍊錶

鍊錶顧名思義就是 鏈 鍊錶是一種動態資料結構,他的特點是用一組任意的儲存單元存放資料元素。鍊錶中每乙個元素成為 結點 每乙個結點都是由資料域和指標域組成的。跟陣列不同鍊錶不用預先定義大小,而且硬體支援的話可以無限擴充套件。陣列需要預先定義大小,無法適應資料動態地增減,資料小於定義的長度會浪費記憶體,...