欢迎进入@shuai:队列;
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
struct qnode{
int a[100];
int rear;
int front;
}quene;
void addq(quene *p,int data){
if((p->rear+1)%99==p->front){
printf("队列已满");
return;
}
p->rear=(p->rear+1)%99;
p->a[p->rear]=data;
}
int detele(quene *p){
if(p->front==p->rear){
printf("队列为空");
}
else{
p->front=(p->front+1)%99;'
return p->a[p->front];
}
1.用数组实现队列有点笨,但还是挺好用的,
2.这里为了方便判别队列的满和空(判断时都会为front=rear),我们用数组的空间n-1个,
3,此时的maxsize为数组长度-1;
- 加油努力鸭!QAQ “ ---- “
相关题目:
数字统计:https://www.luogu.org/problemnew/show/P1179
最小生成树:https://www.luogu.org/problemnew/show/P3366
亲戚:https://www.luogu.org/problemnew/show/P1551
发现错误,疑惑不解,联系作者:1939096278@qq.com
欢迎联系呦 -------- QAQ ---------;