雙向鍊錶的實現 資料結構學習(三)

2021-07-04 07:02:59 字數 721 閱讀 1668

在單鏈表中,每個節點只有乙個指標指向它的直接後繼,訪問資料時只能沿著指標向前訪問。若要訪問某一節點的前驅節點,只能從頭開始訪問。為解決這一問題而引出了雙向鍊錶的概念。雙向鍊錶中的每個節點包含兩個指標(prior和next)分別指向它的前驅和後繼,從乙個節點出發既可以訪問它的後繼節點,也可訪問它的前驅節點。可大大節省訪問前驅節點的時間。

本文主要實現雙向鍊錶的初始化、插入、刪除和輸出操作。實現**如下:

#include

using namespace std;

struct node

;node *head;

void init()

if (i > 1 && i < n)

if (i == n)

}cout << "初始化完成。" << endl;

}void output()

while (p!=null);

cout << endl;

}void insert()

else

news->next = p->next;

news->prior = p;

p->next = news;

p = news;

}cout << "插入成功。" << endl;

}void dele()

else

else

}cout << "刪除成功。" << endl;

}int main()

雙向鍊錶的實現 資料結構學習(三)

雙向鍊錶的每個節點包含兩個指標 prior和next 分別指向該節點的直接前驅和後繼。雙向鍊錶可方便的實現對乙個節點前驅節點的訪問。include using namespace std struct node node head void init if i 1 i n if i n cout 初...

資料結構學習(三) 雙向鍊錶

class heronode2 override public string tostring public void add heronode2 heronode temp temp.next 退出while時候,temp就指向了鍊錶的最後,指向新的node temp.next heronode ...

資料結構學習筆記三 迴圈鍊錶及雙向鍊錶

一 迴圈鍊錶 首位相接的鍊錶,將單鏈表的尾指標指向表頭結點,就得到了單迴圈鍊錶,一般,在迴圈鍊錶中設定乙個頭結點,這樣空的迴圈鍊錶就是自成迴圈的頭結點表示 另外多採用 尾指標表示單迴圈鍊錶,比如尾指標是rear,則rear next next和rear分別表示頭結點和尾結點。優點 從任意結點都可以訪...