資料結構與演算法(C語言版) 雙向鍊錶

2021-07-25 15:12:51 字數 775 閱讀 2367

鍊錶有單向鍊錶也有雙向鍊錶,雙向鍊錶既可以下乙個,也可以上乙個。

雙向鍊錶在乙個節點裡至少有三個域,左鏈域(llink),右鏈域(rlink),資料域(data)

雙向鍊錶也可以做成迴圈鍊錶,可以有表頭結構。

今天我們做乙個雙向鍊錶,但是不是迴圈鍊錶:

#include

using namespace std;

class dbllist;//

class dbllistnode;

class dbllist

void insert(dbllistnode*, dbllistnode*);

void delete(dbllistnode*);

dbllistnode *first;

};//p是新的節點,插入到x的右邊

void dbllist::insert(dbllistnode *p, dbllistnode*x)

void dbllist::delete(dbllistnode *x)

}int main()

總結:雙向鍊錶比較靈活,所以用起來比較方便,這個例子比較簡單,在插入節點是要調整指標,在刪除節點時也要調整指標,主要delete和new對應。

資料結構與演算法(C語言版) 鍊錶2

今天用c 裡面的模板實現鍊錶 listnode list 鍊錶操作 insert delete invert concatenate 在vs2013中新建專案,在標頭檔案中加入mylist.h,在原始檔中加入main.cpp ifndef mylist h define mylist h inclu...

資料結構 鍊錶(C語言版)

程式 include include include define error 0 define ok 1 define true 1 define false 0 define overflow 2 typedef int elemtype 定義鍊錶元素的型別 typedef int status...

王道資料結構鍊錶C語言版

include stdio.h include stdlib.h include stdbool.h typedef struct lnode lnode,linkedlist 初始化乙個單鏈表 帶頭結點 linkedlist initlist linkedlist l l next null 頭結...