王道資料結構 (29) 雙鏈表的操作

2022-06-16 12:36:12 字數 1224 閱讀 6514

雙鏈表的初始化 :

1.先分配頭節點 

2.頭節點的左指標 右指標為null

雙鏈表的插入:

雙鏈表的插入需要判斷p  的 下乙個 節點 是否為 null  

如下面兩個圖:

如果 p的下乙個節點是空 會報錯  所以我們要進行判斷 

執行順序 1 2  3  4 

(1)先將 s 的next 域指向原來p 指向的next  域 

(2)p 的next  域是 y  y 的 前域是 s  則 是黃色這條線 這步 『

(3)s 的前域 是 p  

(4)p 的 next  域是 s 

雙鏈表的刪除

刪除操作 就是 將 中間 的 節點 的鏈結 斷開 、

(1) 將被刪除節點 的 上乙個節點的 next  指向  被刪除節點 的 next  域 

資料結構 雙鏈表的操作

1 利用尾插法建立乙個雙向鍊錶。2 遍歷雙向鍊錶。3 實現雙向鍊錶中刪除乙個指定元素。4 在非遞減有序雙向鍊錶中實現插入元素e仍有序演算法。5 判斷雙向鍊錶中元素是否對稱若對稱返回1否則返回0。6 設元素為正整型,實現演算法把所有奇數排列在偶數之前。include include define el...

資料結構雙鏈表基本操作

雙鏈表 主要注意最後結點的操作,否則容易出現null prior的情況。include include typedef struct dlnode dlnode,list 尾插法構建 void createndlist list l,int a,int n f next null void crea...

資料結構 雙鏈表的基本操作

定義順序表 typedef structsqlist 初始化順序表 必須要!構建c表的時候會用上 void initsqlist sqlist l l.data i e l.size 順序的表長要增加!return 1 特定位置刪除元素 int deleteelem sqlist l,int p i...