数据结构:队列的定义及其函数声明:队列满时:(rear+1)%maxsiz=front,少用一个存储空间,也就是数组的最后一个存数空间不用
一些规律:
1 .和堆栈有点相似。 堆栈顶部top为空,队列末尾的指针也为空。
堆栈底部有东西,列首的指针也有东西。
2 .一般来说,列开头以上(包括列开头)、列末尾以下(不包括列末尾)是有数据的。
3.队首队尾每次变化都是+1的循环
队列定义: #define MAXQSIZE 100; typedef int QElemType; typedef struct _ queue { qelemtype * base; int front; int rear; }SqQueue; 初始化队列: voidinitqueue(sqqueue*s ) s-base=(qelemtype * ) malloc ) sizeof ) qelemtype ) * MAXQSIZE ); if (! s-base(exit ) 0; s-front=0; s-rear=0; }入队: voidenqueue(sqqueue*s,QElemType e ) if ) (s-rear1) % MAXQSIZE==s-front ) { printf ) (团队已满); 退出(0; } s-base[s-rear]=e; s-rear=(s-rear1) % MAXQSIZE; )出队: voiddequeue(sqqueue*s,QElemType* e ) if(s-front==s-rear ) exit(0)0); *e=s-base[s-front]; s-front=(s-front1) % MAXQSIZE; }