佇列的儲存結構的實現 C C 實現

2022-01-15 07:21:57 字數 2163 閱讀 6623

存檔

1 #include "

iostream.h

"2 #include "

stdlib.h"3

#define max 20

4 typedef char

elemtype;

5 #include "

queue.h"6

void

main()

720 cout<

(4)隊列為

"<

空":"

非空")<

21 e=dequeue(q);

22 cout<

(5a)出隊乙個元素dequeue()為:

"23if

(dequeue1(q,e))

24 cout<

(5b)出隊乙個元素dequeue1()為:

"25 cout<

(6)佇列q的元素個數:

"26 cout<

(7)清空佇列

"<

27clearqueue(q);

28 cout<

(8)佇列q的元素個數:

"29 cout<

(9)字元abc依次入佇列

"<

30 enqueue(q,'a'

);31 enqueue(q,'b'

);32 enqueue(q,'c'

);33 e=gethead(q);

34 cout<

(10a)隊頭元素gethead()為:

"35if

(gethead1(q,e))

36 cout<

(10b)隊頭元素gethead1()為:

"37 cout<

(11)佇列的元素個數:

"38 cout<

(12)所有元素出佇列:";

39while(!queueempty(q))

40 cout

41 cout<

42 cout<

(13)佇列q的元素個數:

"43 cout<

(14)釋放佇列

"<

44destoryqueue(q);

45 }

1 typedef struct

2queue;

7void initqueue(queue &q)816

else

17 q.front=q.rear=0;//

初始狀態,front和rear都為018}

19void clearqueue(queue &q)

2025

intqueueempty(queue q)

2633

intqueuelength(queue q)

3438

void enqueue(queue &q,elemtype e)

3946

else

4751

}52 elemtype dequeue(queue &q)

5361

else

6267}68

int dequeue1(queue &q,elemtype &e)

6977

else

7883}84

elemtype gethead(queue q)

8593

else

94return q.base[q.front];//

佇列頭元素的陣列下標即front本身95}

96void destoryqueue(queue &q)

97104

int gethead1(queue q,elemtype &e)

105113

else

114 e=q.base[q.front];//

佇列頭元素的陣列下標即front本身

115return1;

116 }

執行結果如下:

佇列的儲存結構的實現 C C 實現

存檔 1 include iostream.h 2 include stdlib.h 3 define max 20 4 typedef char elemtype 5 include queue.h 6 void main 720 cout 4 隊列為 空 非空 21 e dequeue q 22...

佇列的鏈式儲存結構及實現

佇列的鏈式儲存結構其實就是線性表的單鏈表,只不過它只能尾進頭出,也稱為鏈佇列。為了操作方便講隊頭指標指向鏈佇列的頭結點,而隊尾指標指向終端節點。空佇列是這樣 下面使用 演示 include include include typedef struct node node,pnode typedef ...

佇列的鏈式儲存結構以及實現

佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,通常簡稱為鏈佇列。為了操作上的方便,將隊頭指標指向鏈佇列的頭結點,隊尾指標指向終端結點。當隊列為空時,front和rear都指向頭結點。鏈佇列的結構定義如下所示 typedef int qelemtype qnode代表佇列中元素...