一、線性表
#define maxsize 100 //表長度初始定義
typedef struct
sqlist;
//引用l.data[x]/l.length
二、鍊錶
1、單鏈表
typedef struct lnode
lnode,*linklist;
//引用l->data/l->next
2、雙鏈表
typedef struct dlnode
dlnode,*dlinklist;
//新建dlnode p;
// p=(dlnode *)malloc(sizeof(dlnode));
3、棧
①順序棧
#define maxsize 50
typedef struct
sqstack;
//sqstack s;
//initstack(s);初始化
//stackempty(s);置空
//push(s,x);x入棧
//pop(s,x);x出棧
//gettop(s,x);取棧頂元素值
②鏈棧
typedef struct
lnode;
4. 佇列
①順序儲存
#define maxsize 50
typedef struct
sqqueue;
② 鏈式儲存
#define maxsize 50
typedef struct
linknode;
typedef struct
linkqueue;
//initqueue(q);
//isempty(q);
//enqueue(q);
//dequeue(q);
三、二叉樹
1.鏈式儲存結構體
typedef struct btnode
btnode,*bitree;
2.孩子兄弟表示法
typedef struct csnode
csnode,*cstree;
四、圖
①圖的鄰接矩陣儲存結構
#define maxsize 100 //頂點數目最大值
typedef struct
mgraph;
②圖的鄰接表儲存結構
#define maxsize 100
typedef struct arcnodearcnode;
typedef struct vernodevernode;
typedef struct agraphagraph;
結構體總結
結構體總結 共用體 聯合體 1.乙個結構變數的所佔記憶體空間大小,一般大於或者等於結構中所有成員變數大小之和,成員變數在結構體記憶體空間按照定義的順序依次儲存。2.共用體是將幾種不同型別的變數存放在同一段記憶體單元中。3.語法形式 union 共用體名共用體變數名 4.共用體與結構體的定義形式相似,...
結構體總結
1.結構體的定義 結構體是一些值得集合,這些值稱為成員變數,結構體的每個成員可以是不同型別的變數。2.結構體的宣告 結構體的名稱盡量做到容易理解,結構體的名稱可以省略但是不建議省略 在結構體裡可以放任何合法的內容,結構體內容 member 不能為空,這是在c語言中的要求 結構體變數 variable...
結構體總結
1.結構體和陣列的區別和聯絡 陣列 相同型別元素的集合 結構體 也是一些值的集合 稱為成員變數 每個成員可以是相同或不同的變數。2.結構體成員 可以是標量,陣列,指標,還可以是結構體。這裡補充一下,陣列的元素可以是陣列,就像二維陣列的元素可以看成一維陣列,任何陣列都可以看成是由一維陣列構成。3.結構...