1. 程式人生 > 其它 >雙向連結串列增刪改查分析和實現_韓順平聽課筆記

雙向連結串列增刪改查分析和實現_韓順平聽課筆記

24.雙向連結串列增刪改查分析

  • 單鏈表缺點:1.查詢方向單一;2.節點不能自我刪除
  • 雙向連結串列的增刪改,遍歷思路

25.雙向連結串列增刪改查程式碼實現

  • 資料結構,屬性,next,pre
  • class DoubleLinkedList,初始化一個頭節點,private HeroNode2 head=new HeroNode2();
  • getHead()返回頭節點return head
  • 遍歷,同單鏈表
  • 新增一個節點到雙向連結串列的末尾
  • 修改思路同單鏈表,只需要修改下節點型別
  • 從雙向連結串列中刪除一個節點,可以自我刪除,輔助節點直接指向待刪除節點,flag標誌是否找到待刪除節點;
    temp.next.pre=temp.pre有問題:刪除的是最後一個節點,即沒有下一個節點temp.next=null;
    解決方案:
    進行判斷,如果是最後一個節點,則不執行temp.next.pre=temp.pre
    或進行判斷,如果不是最後一個節點,則執行temp.next.pre=temp.pre(不用寫else)

26.雙向連結串列功能測試和小結

  • 建立節點
  • 建立一個雙向連結串列
  • 遍歷
  • 修改
  • 刪除

練習:雙向連結串列按照標號順序新增節點