用c語言實現順序佇列 採用標誌位解決假溢位問題

2021-08-31 04:39:24 字數 894 閱讀 6784

/*

* 用c語言實現順序佇列(採用標誌位解決假溢位問題解決假溢位問題)

* 新增乙個標誌位

*(採用的思路是增加乙個標誌位flag,當入佇列的時候設定flag=1,出佇列的時候設定flag=0,因為佇列滿只可能存在於入佇列的時候,所以多加乙個判斷就可以了)

*/#include#include#includetypedef struct queue

qu;/*

* 初始化順序佇列

*/qu *initqueue(int num)

q->front=0;

q->rear=0;

q->max=num;

//入佇列flag=1否則flag=0

q->flag=0;

q->a=(int *)malloc(sizeof(int)*num);

return q;}/*

* 佇列是否為空(空:返回0 非空:1)

*/int isempty(qu *q)

/* * 入佇列

*/ void push(qu *q,int value)

else }

/* * 出佇列

*/int pop(qu *q)

int value=q->a[q->front];

q->front=(q->front+1)%q->max;

q->flag=0;

return value;}/*

* 檢視隊首元素

*/int peek(qu *q)

int value=q->a[q->front];

return value;}/*

* 佇列中的元素個數

*/int getnum(qu *q)

}int main()

C語言實現順序佇列

有關c語言實現佇列 1.佇列也是一種運算受限制的線性表,它只允許在表的一段 front 進行插入,在另一端 rear 進行刪除。2.佇列亦稱作先進先出的線性表,注意不能稱為後進後出。順序佇列結構描述 struct sq queue typedef struct sq queue sqqueue sq...

c語言資料結構 用標誌位實現迴圈佇列

1 include2 include3 4 define maxsize 10 定義佇列長度56 static int flag 0 定義標誌位 78 typedef struct sqqueue 建立結構體 1314 int initqueue sqqueue q 22 建立空鍊錶 2324 25...

用C語言實現佇列的順序儲存結構

佇列的順序儲存結構算是資料結構裡面比較簡單的一塊知識點了,他的 也很簡單 如下 include define elemtype int define maxsize 30 define false 0 define true 1 define bool char 迴圈佇列 typedef struc...