9 線性表 佇列 鏈式儲存

2022-02-02 11:47:35 字數 1338 閱讀 4617

對於一開始的佇列的儲存結構混了半天腦袋

後來還是乖乖參考嚴奶奶裡面的**修改了一下。。終於沒錯了

回頭要梳理這個結構體和結構體指標關係!

1、佇列的鏈式儲存

實際上是乙個同時帶有隊頭指標和隊尾指標的單鏈表

頭指標指向隊頭結點,尾指標指向隊尾結點。

特別適於資料元素變動比較大的情形,如果程式中要使用多個佇列,最好使用鏈式佇列

有乙個很大的優點是不會出現佇列滿和溢位的問題

2、**實現

1 #include2 #include3

using

namespace

std;

4#define ture 1

5#define false 0

6#define maxsize 50

7#define listincreament 10

8#define ok 1

9#define error -3

10#define overflow -2

11 typedef int

status;

12 typedef int

elemtype;

13/*

儲存型別的定義

*/14 typedef struct

lnode

15 queue;

19 typedef struct ptr //

鏈式佇列的隊頭指標和隊尾指標的定義

20 linkqueue;

2324

/*佇列的初始化

*/25

void initqueue(linkqueue *q)

2633

/*隊判空

*/34

bool isempty(linkqueue *q)

3539

/*入隊

*/40

int enqueue(linkqueue *q,int

x)41

49/*

出隊*/

50int dequeue(linkqueue *q,int &x)

5165

66int

main()

6777 cout<

78 cout<

now show you the data in the queue:";

79while(!isempty(q))

8085

86return0;

87 }

3、實現截圖

線性表的鏈式儲存

此方法雖然簡單,但是真寫起來太複雜了。線性表的鏈式儲存 include include struct lnode 線性表的初始化 void init l lnode l 線性表的後插建立 void create l1 lnode l n next null 線性表的後插建立 void create ...

線性表的鏈式儲存

引言 一 單鏈表 相較於順序儲存用連續的儲存單元儲存,單鏈表採用鏈式儲存結構,用一組位址任意的儲存單元儲存資料元素。特點 1 儲存單元可以是不連續的,即邏輯結構與物理結構可以不相同 2 元素用結點儲存,每個結點由元素值和下乙個元素的位址構成 3 單鏈表是由每個結點的指標域按照邏輯次序相互連線而成的。...

線性表的鏈式儲存

include include include typedef int elemtype typedef struct nodenode,nodeptr 鍊錶節點 typedef struct listlist,listptr 鍊錶,頭結點為0位置 listptr initlist 初始化鍊錶 vo...