队列实验报告

队列实验报告

ID:48277996

大小:109.01 KB

页数:8页

时间:2019-11-28

队列实验报告_第1页
队列实验报告_第2页
队列实验报告_第3页
队列实验报告_第4页
队列实验报告_第5页
资源描述:

《队列实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一.实验项目名称循环队列和链式队列的创建二、实验目的1、掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,2、队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活应用。三、实验内容1.链式队列的实现和运算2.循环队列的实现和运算四、主要仪器设备及耗材VC++6.0运行环境实现其操作五.程序算法(1)循环队列操作的算法1>进队列Voidenqueue(seqqueue&q,elemtypex){if((q.rear+1)%maxsize==q.front)cout<<”overflow”;else{q.rear=(q.rear+1)

2、%maxsize;//编号加1或循环回第一个单元q.queue[q.rear]=x;}}2>出队列Voiddlqueue(seqqueue&q){if(q.rear==q.front)cout<<”underflow”;elseq.front=(q.front+1)%maxsize;}3>取对头元素elemtypegethead(seqqueueq){if(q.rear==q.front){cout<<”underflow”;returnNULL;}elsereturnq.queue[(q.front+1)%maxsize];//front指向队头前一个位置}4

3、>判队列空否intempty(seqqueueq){if(q.rear==q.front)reurn1;elsereturn0;}(2).链队列操作的算法1>.链队列上的初始化voidINIQUEUE(linkqueue&s){link*p;p=newlink;p->next=NULL;//p是结构体指针类型,用->s.front=p;//s是结构体变量,用.s.rear=p;//头尾指针都指向头结点}2>.入队列voidpush(linkqueue&s,elemtypex){link*p;//p是结构体指针类型,用-> p=newlink;p->data=x;

4、p->next=s.rear->next;//s是结构体变量,用.s.rear->next=p;s.rear=p;//插入最后}3>判队空intempty(linkqueues){if(s.front==s.rear)return1;elsereturn0;}4>.取队头元素elemtypegethead(linkqueues){if(s.front==s.rear)returnNULL;elseretuens.front->next->data;}5>.出队列voidpop(linkqueue&s){link*p;p=s.front->next;if(p->n

5、ext==NULL)//链队列中只有一个元素,需要修改rear指针{s.front->next=NULL;s.rear=s.front;}elses.front->next=p->next;//rear不用变delete(p);}六.程序源代码a.循环队列源代码#include#defineMAXN20structseq{charqueue[MAXN];intfront,rear;};voidiniq(seq&q){q.front=q.rear=MAXN-1;}voidenq(seq&q,charx){if((q.rear+1)%MAXN

6、==q.front)cout<<"overflow";else{q.rear=(q.rear+1)%MAXN;q.queue[q.rear]=x;}//return(0);}voiddlq(seq&q){if(q.rear==q.front)cout<<"underflow";elseq.front=(q.front+1)%MAXN;}intgethead(seq&q)//取队头元素{if(q.rear==q.front)//判断是否队列为空cout<<"underflow";elsereturnq.queue[(q.front+1)%MAXN];}main()

7、{seqq;inti,y;iniq(q);cout<<"输入元素入队0为止"<>i;while(i){enq(q,i);cin>>i;}y=gethead(q);cout<<"队头为="<typedefstructQNode{chardata;QNode*next;}QNode,*QueuePtr;typedefstruct{QueuePtrfront;Queue

8、Ptrrear;}Lin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。