另设一个含有元素个数的计数器count,写出相应入队出队算法。
#include <stdio.h>
#define MaxSize 10
typedef struct{
int data[MaxSize];
int front;
int count;
}Queue;
void InitQueue(Queue &q){
q.front=0;
q.count=0;
}
void EnQueue(Queue &q,int value){
if (q.count==MaxSize){
printf("队满");
return;
}
q.data[(q.front+q.count)%MaxSize]=value;//新元素的位置
q.count++;
}
void DeQueue(Queue &q,int &value){
if(q.count==0){
printf("队空");
return;
}
value=q.data[q.front];
q.count--;
q.front=(q.front+1)%MaxSize;
}
int main(){
Queue q;
InitQueue(q);
return 0;
}