Python算法——構建單鏈表,添加刪除元素

構建:
把鏈表元素和鏈表索引分別儲存在兩個list裏。

listvalue = [1, 5, 6, 2, 7, 3]
listright = [3, 2, 4, 5, -1, 1]
添加元素:
元素添加時,要先讓新元素指針指向後面的元素,再讓他前面的元素指針指向新元素!!!!!!

不然,先讓前面的元素(a)指向新元素(b),再找新元素後面的元素(c)時,c的索引本來在a裏,但是a已經改了,所以就找不到c了

刪除元素:
元素刪除很簡單,讓被刪除元素b的前一個元素a的索引,指向b的下一個元素,即讓a的索引指向a的下下個

def printlist(listv, listr, head):   # 輸出鏈表
    print(listv[head])
    next = listr[head]
    while next != -1:
        print(listv[next])
        next = listr[next]
 
listvalue = [1, 5, 6, 2, 7, 3]
listright = [3, 2, 4, 5, -1, 1]
head = 0
prepos = 3   # 要插入元素的上一個元素位置
printlist(listvalue, listright, head)
print()
 
listvalue.append(4)   # 添加新元素
listright.append(listright[prepos])   # 新元素對應的索引爲上一個元素對應的索引
listright[prepos] = len(listvalue)-1    # 上一個元素的索引指向最後一個元素,即新添加的
 
printlist(listvalue, listright, head)
print()
 
prepos2 = 1
listright[prepos2] = listright[listright[prepos2]]
printlist(listvalue, listright, head)
 
————————————————
版權聲明:本文爲CSDN博主「DongDu_rabbit」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zhr1030635594/article/details/102774652

發佈了112 篇原創文章 · 獲贊 35 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章