(四)雙向鍊錶的設計與實現

2021-08-18 13:08:38 字數 604 閱讀 1241

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...