雙向鍊錶及其各種操作

2021-08-19 17:47:19 字數 1706 閱讀 9755

什麼是雙向鍊錶:

我們都知道單向鍊錶中的每乙個節點有且只有乙個指標,這個指標就是用來指向下乙個節點的,單向鍊錶顧名思義就是鍊錶方向是單方向的,而本文要介紹的雙向鍊錶就是鍊錶方向是雙方向的,也就是雙向鍊錶中的每乙個節點有兩個指標,乙個指標用來指向上乙個節點(前驅),另乙個指標用指向下乙個節點(後繼)。

雙向鍊錶各種操作

頭插法

**實現

public

void

inserthead(int val)

尾插法:

//尾插法

public

void

inserttail(int val)

entry.prio=cur;

cur.next=entry;

}

全部**塊

class testlink

class entry

public

entry(int data)

}//頭插法

public

void

inserthead(int val)

}//列印

public

void

show()

}//尾插法

public

void

inserttail(int val)

entry.prio=cur;

cur.next=entry;

}//刪除val值

public

void

delete(int val)

}cur=cur.next;}}

}public

class test2

t1.show();

system.out.println("====刪除5後====");

t1.delete(5);

t1.show();

system.out.println("====尾部插入2後====");

t1.inserttail(2);

t1.show();}}

執行結果:

cur.data= 0

cur.data= 1

cur.data= 2

cur.data= 3

cur.data= 4

cur.data= 5

====刪除5後====

cur.data= 0

cur.data= 1

cur.data= 2

cur.data= 3

cur.data= 4

====尾部插入2後====

cur.data= 0

cur.data= 1

cur.data= 2

cur.data= 3

cur.data= 4

cur.data= 2

雙向鍊錶及其相關操作

雙向迴圈鍊錶 每乙個結點都有兩個指標,乙個前驅乙個後繼,頭結點的前驅指向最後乙個結點,最後乙個結點的後繼指向頭結點 結構體定義 typedef int type 結點定義 typedef struct nodenode 鍊錶定義 typedef struct listlist 建立乙個結點 node...

迴圈鍊錶及其各種操作

什麼是迴圈鍊錶 將單鏈表中終端結點的指標端由空指標改為指向頭結點,就使整個鍊錶形成乙個環,這種頭尾相接的單鏈表成為單迴圈鍊錶,簡稱迴圈鍊錶 circular linked list 迴圈鍊錶的各種操作與單鏈表的相似,只是要注意迴圈鍊錶的尾結點是指向頭結點的 class testclink class...

雙向鍊錶及其用法

一 雙向鍊錶的定義 雙向鍊錶也是鍊錶的一種,它每個資料結點中都有兩個結點,分別指向其直接前驅和直接後繼。所以我們從雙向鍊錶的任意乙個結點開始都可以很方便的訪問其前驅元素和後繼元素。二 雙向鍊錶的儲存結構 雙向鍊錶也是採用的鏈式儲存結構,它與單鏈表的區別就是每個資料結點中多了乙個指向前驅元素的指標域 ...