佇列的簡單實現(C語言)
阿新 • • 發佈:2019-01-31
題目:
1、建立迴圈佇列,並實現元素(4,5,7,6,8)入隊,實現迴圈佇列的建立,和入隊的基本操作;
2、實現元素(4,5,7,6,8)依次出隊並輸出。
#include<iostream> using namespace std; #define MaxSize 100 typedef struct{ int *base; int front; int rear; }Seq; int Init(Seq &L){ //初始化 L.base = new int[MaxSize]; L.front = L.rear = 0; return 1; } int Enter(Seq &L,int m){ //入佇列 if((L.rear+1)%MaxSize == L.front){ cout<<"佇列已滿!"; return 0; } L.base[L.rear] = m; L.rear = (L.rear + 1)%MaxSize; return 1; } int Out(Seq &L,int &m){ // 出佇列 if(L.rear == L.front){ cout<<"佇列空!"; return 0; } m = L.base[L.front]; L.front = (L.front+1)%MaxSize; return 1; } int main(){ Seq S; int m; Init(S); Enter(S,4); Enter(S,5); Enter(S,7); Enter(S,6); Enter(S,8); for(int i = 0;i < 5;i++){ Out(S,m); cout<<m<<" "; } return 0; }
參考資料:
《資料結構 C語言版 第2版》嚴蔚敏 李冬梅 吳偉民