鍊錶有單向鍊錶也有雙向鍊錶,雙向鍊錶既可以下乙個,也可以上乙個。
雙向鍊錶在乙個節點裡至少有三個域,左鏈域(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 頭結...