listvalue = [1, 5, 6, 2, 7, 3]
listright = [3, 2, 4, 5, -1, 1]
listleft = [-1, 5, 1, 0, 2, 3]
# 正向遍歷
head = listleft.index(-1)
print(listvalue[head])
next = listright[head]
while next > -1:
print(listvalue[head])
next = listright[head]
# 反向遍歷
head = listright.index(-1)
print(listvalue[head])
next = listleft[head]
while next > -1:
print(listvalue[head])
next = listleft[head]
def output(listvalue, listright, head):
print(listvalue[head])
next = listright[head]
while next != -1:
print(listvalue[next])
next = listright[next]
listvalue = [1, 5, 6, 2, 7, 3]
listright = [3, 2, 4, 5, -1, 1]
listleft = [-1, 5, 1, 0, 2, 3]
head = 0
prepos = 5 # 要插入的位置的上乙個元素的位置
output(listvalue, listright, head)
print('--------------')
listright[prepos] = len(listvalue) - 1 # 將前後元素的指標指向新元素
listleft[listright[prepos]] = len(listvalue) - 1
output(listvalue, listright, head)
def output(listvalue, listright, head):
print(listvalue[head])
next = listright[head]
while next != -1:
print(listvalue[next])
next = listright[next]
listvalue = [1, 5, 6, 2, 7, 3]
listright = [3, 2, 4, 5, -1, 1]
listleft = [-1, 5, 1, 0, 2, 3]
head = 0
prepos = 5 # 要插入的位置的上乙個元素的位置
output(listvalue, listright, head)
print('--------------')
listright[prepos] = listright[listright[prepos]]
listleft[listright[listright[prepos]]] = prepos
output(listvalue, listright, head)
python 實現雙鏈表
雙鏈表和單鏈表進行比較的優點與不同 節點多了乙個前驅指標域 在很多基本操作上,多了一種選擇,因為雙鏈表可以向前進行移動尋位 如果給每個節點新增乙個對應的下標,那麼在尋找節點時,我們可以使用二分發來進行節點的定址工作,這相對於單鏈表是乙個效能的優化 7 8 python實現雙鏈表 9 10 class...
雙鏈表實現
一 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。二 實驗內容 建立乙個由n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入 刪除 查詢等操作。分別輸出結果。三 源 includeconst i...
雙鏈表實現
以前寫的不帶頭的單鏈表實現,當時也啥也沒學,好多東西不知道,加上一心想壓縮 減少情況,所以寫得不太好。請教了老師,首先是命名問題和 緊湊性等的改進。還有可讀性方面的改進,多寫了一些注釋。並且因為帶頭的比較好寫,好操作,所以標準寫法也不是很長,繁瑣。下面貼 include include includ...