普通的順序儲存的佇列因其儲存方式的問題出現假溢位的現象,即隊頭不在儲存空間開始的位置,而隊尾在儲存空間的結束的位置,此時無法再入隊新元素,但儲存空間還未滿。為了解決假溢位現象並使得佇列空間得到充分利用,乙個較巧妙的方法是將順序佇列看成乙個環狀的空間,即規定最後乙個單元的後繼為第乙個單元,形象地稱之為迴圈佇列(circular queue)。
示例**
#include
#include
#define maxsize 50
typedef
structseqqueue;
void initqueue(seqqueue *q);
int isempty(seqqueue *q);
int enqueue(seqqueue *q, char x);
int dequeue(seqqueue *q, char *x);
int gethead(seqqueue *q, char *x);
void print_hyphen(int n);
int main(void)
int end = 0;
int ope;
char ch;
while(!end)
}return0;}
void initqueue(seqqueue *q)
int isempty(seqqueue *q)
int enqueue(seqqueue *q, char x)
int dequeue(seqqueue *q, char *x)
int gethead(seqqueue *q, char *x)
void print_hyphen(int n)
佇列的順序儲存實現
順序儲存佇列標頭檔案 1 pragma once 2 include3 include4 define max size 102456 順序佇列結構體 7 typedef struct seqqueue 8seqqueue 1213 初始化佇列 14 seqqueue init seqqueue 1...
佇列 迴圈佇列 的順序儲存實現
佇列的順序儲存實現 1 佇列 一端進,另一端出 佇列由兩個引數決定,front 頭 rear 尾 頭指標指向頭乙個元素,尾指標指向指向最後乙個元素的下一儲存單元 若陣列長度為n,當元素個數為n 1時就認為佇列已滿。r指向最後乙個空的元素空間。出隊 頭指標往上移動,入隊 尾指標向上移動,故 靜態佇列只...
佇列 順序儲存 基本操作
佇列是一種操作受限的線性表 佇列只允許在一端進行插入 即入隊 另一端進行刪除 即出隊 隊尾進,對頭出 first in first out fifo 初始化佇列,構造乙個空的佇列 void initqueue sqqueue q 判斷佇列是否為空 bool queueisempty sqqueue ...