標籤:std 入隊 struct print printf enqueue include oid size
#include <stdio.h>#include "SeqQue.h"// 迴圈隊列的基本運算/*const int maxsize = 20;typedef struct cycque{ int data[maxsize]; int front, rear;}CycQue; */// 1. 初始化void InitQueue(CycQue CQ){ CQ.front = 0; CQ.rear = 0;}// 2. 判斷隊空int EmptyQueue(CycQue CQ){ if(CQ.rear == CQ.front) return 1; else return 0;}// 3. 入隊列int EnQueue(CycQue CQ, int x){ if((CQ.rear + 1)%maxsize == CQ.front) { printf("隊列滿\n"); return 0; } else { CQ.rear = (CQ.rear + 1)%maxsize; CQ.data[CQ.rear] = x; return 1; } }// 4. 出隊列int OutQueue(CyQue CQ){ if(EmptyQueue(CQ)) { printf("隊列空\n"); return 0; } else { CQ.front = (CQ.front + 1)%maxsize; return 1; }}// 5.取隊列首元素int GetHead(CycQue CQ){ if(EmptyQueue(CQ)) { printf("隊列為空白\n"); return 0; } else { return CQ.data[(CQ.front + 1)%maxsize]; /* 說明:為了方便操作,規定front指向隊列首元素的前一個單元, rear指向實際的隊列尾元素單元。 */ }}// 迴圈隊列的基本運算main(){ }
C語言——迴圈隊列的基本運算