欢迎来到天天文库
浏览记录
ID:46411785
大小:16.51 KB
页数:3页
时间:2019-11-23
《循环队列(完整可运行代码)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1)顺序循环队列类型定义为:#defineN20typedefstruct{intdata[N];intfront,rear;}queue_type;2)编写循环队列出队函数dequeue3)编写循环队列入队函数enqueue4)编写函数:voidaa(queue_type*q);调用出对函数把队列q中的元素一一出对列,如果是负数直接抛弃;如果是正数,则调用入队函数,插入到q的队尾。5)编写main函数,首先建立一个队列,其中的数据元素为:{2,3,-4,6,-5,8,-9,7,-10,20};然后调用aa函
2、数,并将aa函数调用前后队列的数据元素分别输出到屏幕上。#include#defineN20typedefintelemtype;intcount;typedefstructqueue_type{elemtypedata[N];intfront;intrear;}queue_type;voidinitqueue(queue_type*q){q->front=q->rear=0;return;}intenqueue(queue_type*q,elemtypex){if((q->rear+1)%
3、N==q->front)return0;else{q->rear=(q->rear+1)%N;q->data[q->rear]=x;return(true);}}intdequeue(queue_type*q,elemtype*x){if(q->rear==q->front)return(NULL);else{q->front=(q->front+1)%N;*x=q->data[q->front];}return0;}voidaa(queue_type*q){inti;q->front=0;q->rear=c
4、ount;i=count;elemtypeout;while(i--){dequeue(q,&out);count--;if(out>0){enqueue(q,out);count++;}}}intmain(){elemtypex,temp;inti,j,k;queue_typeQ;initqueue(&Q);printf("Now,let'smakeastack!Pleaseinputthenumber:");scanf("%d",&count);i=count;printf("Pleaseinputt
5、hedata:");scanf("%d",&x);while(--i){enqueue(&Q,x);scanf("%d",&x);}enqueue(&Q,x);j=count;while(j--){dequeue(&Q,&temp);printf("%d",temp);}aa(&Q);k=count;printf("QueueAfter'aa':");while(k--){dequeue(&Q,&temp);printf("%d",temp);}return0;}
此文档下载收益归作者所有