/*数据结构与算法-第三章栈和队列课后习题 *课本第85页3.7 *题目:假设以数组Q[m]存放循环队列中的元素,同时设置一个标志tag,以tag=0和tag=1来区别在队头指针(front)和队尾指针(rear)相等时, * 队列状态为"空"还是"满"。 * 试编写与此结构相应的插入(enqueue)和删除(dequeue)算法。 *编译环境:VC 6.0 */ #include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR 0 #define overflow -1 #define MAXSIZE 10 typedef int qelemType; int count=0; typedef struct {qelemType q[MAXSIZE];int tag;int head,rear; }sqqueue; void initQueue(sqqueue &queue)//队列初始化 {queue.head=0;queue.rear=0;queue.tag=0; } int enqueue(sqqueue &queue,qelemType e) {if(count==MAXSIZE)queue.tag=1;if(queue.tag==1 && queue.head==queue.rear)//即队列已满return ERROR;else{queue.q[queue.rear]=e;queue.rear=(queue.rear+1)%MAXSIZE;count++;}return OK; } int dequeue(sqqueue &queue,qelemType &e) {if(count==0)queue.tag=0;if(queue.tag==0 && queue.head==queue.rear)return ERROR;else{e=queue.q[queue.head];queue.head=(queue.head+1)%MAXSIZE;count--;}return OK; } int queuelen(sqqueue queue) {return (queue.rear-queue.head+MAXSIZE)%MAXSIZE; } int main() {sqqueue queue1;initQueue(queue1);int num;for(int i=12;i>=1;i--){printf("ATTENTION---Queue's length=%d,",queuelen(queue1));if(enqueue(queue1,i))printf("成功插入元素%d!n",i);else{printf("队列已满!n");break;}}printf("nn");for(int k=1;k<=14;k++){printf("ATTENTION---Queue's length=%d,",queuelen(queue1));if(dequeue(queue1,num))printf("成功删除元素%d!n",num);else{printf("队列已空!n");break;}}return 0; }
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697假设以数组Q[m]存放循环队列中的元素,同时设置一个标志tag,以tag=0和tag=1来区别在队头指针(front)和队尾指针(rear)相等时, 队列状态为“空”还是“满”。
来源:
时间:2024-12-14 18:05最新推荐文章于 2024-10-15 22:29:51 发布
Jxufe渣渣斯 于 2018-10-15 14:09:40 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
相关知识
浅谈Python数据结构(三)
给对象的小惊喜c#玫瑰花
PCB stm32根据光强调整led灯亮度
3012C语言
题解:樱花
花粥没有花
答题与解题(6)
Go语言全栈开发:结构体
【艺术漫插】那些与花有关的故事——TAG TRAUM
组队赛8:Journey to the “The World's Start” 二分+单调队列优化dp
网址: 假设以数组Q[m]存放循环队列中的元素,同时设置一个标志tag,以tag=0和tag=1来区别在队头指针(front)和队尾指针(rear)相等时, 队列状态为“空”还是“满”。 https://www.huajiangbk.com/newsview1095104.html
上一篇: Android 存储学习之在外部 |
下一篇: String的存储方式 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039
分享热点排名