日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python链表删除尾部节点_python单链表中如何查找和删除节点?

發布時間:2024/10/6 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python链表删除尾部节点_python单链表中如何查找和删除节点? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在之前的文章【python單鏈表中如何插入和輸出節點?】中給大家介紹了單鏈表是什么,以及如何進行添加節點、輸出所以節點。下面本篇文章給大家介紹如何查找和刪除節點,希望對大家有所幫助。

如何從單鏈表中查找節點?

與大多數數據結構一樣,查找元素是否存在的唯一方法是遍歷整個鏈表。請注意,如果鏈接列表已排序,我們可以使用二進制搜索。但是在這里我們將考慮一個未排序的鏈表。

工作原理:用戶給定需要查找的節點元素,如果我們找到元素,我們返回true,否則返回false;還可以使用計數器并返回元素的索引(如果存在)。

算法

1、將指針curr設置為頭部

2、將curr.data與輸入值進行比較:

● 如果相等,則返回True

● 否則,轉到下一個指針

3、重復步驟1-2,直到找到元素或滿足鏈接列表的結尾

實現代碼:def findNode(self,value):

curr = self.head

while curr:

if curr.getData() == value:

return True

curr = curr.getNextNode()

return False

如何從單鏈表中刪除節點?

從上面的示例中我們知道了如何查找節點,那么我們可以利用它來刪除節點。我們可以從用戶那里獲取一個值,在鏈接列表中找到該元素,如果它存在,就將其刪除。

注:讓用戶知道元素是否被成功刪除是非常重要的。因而,當刪除成功就返回True,否則返回False;請記住將size屬性減1。

讓我們將要刪除的節點稱為當前節點。其思想是將前一個節點的next鏈接到當前節點的next節點。例如,假設我們要從給定的鏈接列表中刪除4:原鏈表: H-->3-->4-->5

刪除4后:H-->3-->5

我們需要將3的下一個節點指向4的下一個節點,即5。

假設我們還要刪除3刪除3后:H-->5

注:要在上一個節點和當前節點的下一個節點之間建立連接,請務必跟蹤上一個節點。

算法

1、有兩個指針:

● CURR - 最初 分給頭

● prev - 最初指向無

2、如果輸入的值與curr的數據匹配,檢查prev存在:

● 如果是,則將prev的下一個節點設置為curr的下一個節點

● 如果不是,只需將頭部指向curr的下一個節點(當您要刪除第一個節點時會發生這種情況)

● 將size屬性減1

● 返回True

3、如果輸入的值與curr的數據不匹配,通過以下方式前往下一個節點:

● 指向先前的曲線

● 指著CURR到下一個節點CURR

4、重復步驟1-3直到鏈表結束

5、如果到達鏈接列表的末尾,則返回False,表示鏈接列表中沒有元素與輸入的值匹配

實現代碼:def removeNode(self,value):

prev = None

curr = self.head

while curr:

if curr.getData() == value:

if prev:

prev.setNextNode(curr.getNextNode())

else:

self.head = curr.getNextNode()

return True

prev = curr

curr = curr.getNextNode()

return False

相關視頻教程推薦:《python3教程》

以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以關注Gxl網相關教程欄目!!!

總結

以上是生活随笔為你收集整理的python链表删除尾部节点_python单链表中如何查找和删除节点?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。