判断队是否为空的函数c语言,C语言中循环队列的队满和队空的判断条件各是什么?有什么不同?...

更新时间:2023-07-09 17:57:18 阅读: 评论:0

判断队是否为空的函数c语⾔,C语⾔中循环队列的队满和队空的判断条件各是什么?有什么不同?...
队空时: Q.front == Q.rear;
队满时: Q.front == (Q.rear + 1) % MAXSIZE;
front指向队⾸元素,rear指向队尾元素的下⼀个元素。
maxsize是队列长度。
扩展资料:
实现的代码:
#include
#include
ppt结束语
#define MAXSIZE 100  //最⼤队列长度
#define OK 1
#define ERROR 0
typedef int ElemType;
typedef int Status;
typedef struct {
经典古言
ElemType *ba;  //队列空间
int front;  //队头指针
int rear;      //队尾指针,若队尾不为空,则指向队尾元素的下⼀个位置
}SqQueue;
//初始化循环队列
草原上的小木屋读后感Status initQueue(SqQueue &Q) {
摄氏零度
Q.ba = (ElemType *) malloc(MAXSIZE * sizeof(ElemType));  //申请空间锡伯族服饰
Q.front = Q.rear = 0;      //队空
return OK;
三山四水}
//⼊队
Status enQueue(SqQueue &Q, ElemType e) {
if ((Q.rear + 1) % MAXSIZE == Q.front) return ERROR; //队满,⽆法添加Q.ar] = e;  //插⼊元素
return OK;
面试坐姿}
//出队
Status deQueue(SqQueue &Q, ElemType &e) {
if (Q.front == Q.rear) return ERROR; //队空,⽆法删除
e = Q.ba[Q.front]
脸怎么样才能变白Q.front = (Q.front + 1) % MAXSIZE;  //队头指针+1
return OK;
}
//返回队列长度
Status length(SqQueue &Q) {
return (Q.rear - Q.front + MAXSIZE) % MAXSIZE;
}

本文发布于:2023-07-09 17:57:18,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1087736.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:队列   队空   判断   队尾   长度   元素   是否   指向
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图