#include #define MAXSIZE 100 typedef struct { int data[MAXSIZE]; int front; int rear; int count; }SeqCQueue; void InitSeqCQueue(SeqCQueue &q) { q.front =q.rear=q.count=0; printf(\"初始化成功!\\n\"); //循环队列初始化 } int QueueAppend(SeqCQueue &q,int e) //数据元素e入队列 { if((q.rear+1)%MAXSIZE==q.front) { printf(\"循环队列满!\\n\"); return 0; } else { q.data[q.rear]=e; q.rear=(q.rear+1)%MAXSIZE; printf(\"%d入队列成功!\\n\ q.count++; return 1; } } int IsEmptyQueue(SeqCQueue &q) { if(q.rear ==q.front ) { printf(\" 空队列!\\n\"); return 1; } else { //判断循环队列是否为空 printf(\"非空队列!\\n\"); return 0; } } int DeleteQueue(SeqCQueue &q,int &e) { if(!IsEmptyQueue(q)) { e=q.data [q.front ]; q.front =(q.front +1)%MAXSIZE; printf(\"出队列成功!\\n\"); q.count--; return 1; //数据元素出队列 } else { printf(\"出队列失败!\\n\"); return 0; } } int GetQueue(SeqCQueue q, int { if(q.count==0) { printf(\"队列已空无数据可取!\\n\"); return 0; *e) //取队头数据元素 } else { *e=q.data[q.front]; printf(\"成功取元素!\\n\"); return 1; } } void main() { int x=0; SeqCQueue Q; InitSeqCQueue(Q); IsEmptyQueue(Q); DeleteQueue(Q,x); QueueAppend(Q,88); GetQueue(Q,&x); IsEmptyQueue(Q); DeleteQueue(Q,x); } 因篇幅问题不能全部显示,请点此查看更多更全内容