1.概念
在單鏈表的結點中增加乙個指向其前驅的pre指標。
雙向鍊錶擁有單鏈表的所有操作。
2.設計與實現
(1)插入操作
a. 插入第乙個元素異常處理:
if(next != null) node->pre = current;
b.在0號位置處插入元素:
新來結點node前pre指向null。即:node->pre = null;
(2)刪除操作
3.優點和缺點
優點:1.雙向鍊錶在單鏈表的基礎上增加了指向前驅的指標
2.功能上雙向鍊錶完全可以取代單鏈表使用
3.雙向鍊錶的current、pre和next的操作可以高效的遍歷鍊錶中的所有元素
缺點:**複雜
線性表的實現(四)雙向鍊錶
單鏈表的結點都只有乙個指向下乙個結點的指標 單鏈表的資料元素無法直接訪問其前驅元素 逆序訪問單鏈表中的元素是極其耗時的操作!雙向鍊錶的定義 在單鏈表的結點中增加乙個指向其前驅的pre指標 插入操作 刪除操作 雙向鍊錶的新操作 獲取當前游標指向的資料元素 將游標重置指向鍊錶中的第乙個資料元素 將游標移...
1 5 雙向鍊錶
實現 public class doublelinkedlistdemo 鍊錶操作類 class doublelinkedlist 新增節點 同單向,但有點區別,加上前乙個指標 public void add heronode2 heronode2 temp.next heronode2 heron...
20 雙向鍊錶
1 define crt secure no warnings 23 include4 include5 include67 define ok 1 8 define error 0 9 define true 1 10 define false 0 1112 typedef int elemtyp...