已經在vc上除錯過了
#include
#include
#include
#define datatype1 int
#define maxsize 5
typedef struct
seqqueue;
//初始化佇列
void initqueue(seqqueue *q)
//判佇列空函式
int empty(seqqueue *q)
//取隊頭元素
datatype1 getfront(seqqueue *q,datatype1 v)
else
v=q->data[(q->front+1)%maxsize];
return v;
}//隊尾插入元素
int enqueue(seqqueue *q,datatype1 x)
else
return r;
}//隊頭刪除元素
datatype1 dequeue(seqqueue *q)
else
return v;
}void main()
}
資料結構 佇列 迴圈佇列
在佇列的陣列實現中,我們很容易發現數在出隊後,陣列的前面部分會有剩餘空間沒有被使用,所以我們為了最大程度的利用固定長度的陣列,我們採用迴圈佇列的儲存方式,這種方式的最大問題在於resize的時候比較麻煩,所以我們不考慮resize的情況。基本結構如下,這裡front指向第乙個元素的位置,rear指向...
資料結構 佇列 迴圈佇列
資料結構 佇列 迴圈佇列 順序儲存 犧牲乙個空間單元來判段佇列滿狀態。q.front q.rear 1 initsize date 2017 4 16 include define elemtype char define initsize 100 typedef structsqqueue voi...
資料結構 迴圈佇列 C語言
2 迴圈佇列源 及測試 佇列,顧名思義就像我們平時排隊打飯一樣,隊尾有人不斷來排隊打飯,隊頭不斷有人打完飯離開隊頭 順序佇列用順序儲存結構,即陣列儲存,分別包含倆個變數front和rear分別代表隊頭和隊尾,為了防止陣列越界溢位,我們將順序佇列變成乙個環狀的空間,即迴圈佇列,超出陣列界隊尾重新回到陣...