欢迎来到天天文库
浏览记录
ID:48513592
大小:142.00 KB
页数:33页
时间:2020-02-06
《实验三队列实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......计算机科学与技术系实验报告专业名称计算机科学与技术课程名称数据结构与算法项目名称实验三队列实验班级学号1姓名同组人员无实验日期.专业.专注.......实验三队列实验实验题目:建立含有若干个元素的循环队列和链队列,并分别实现循环队列和链队列的入队和出对操作。(1)先实现循环队列的入队和出队操作1.问题分析本程序要求实现建立含有若干个元素的循环队列,并实现循环队列的入队和出队操作。完成该实验需要以下4个子任务:定义一个循环队列的存储结构,定义队列的基本算法。定义一个display()函数实现队列元素的输出看入队是否成功通过队列的基本算法实现队列的出队操作
2、在主函数中完成操作测试数据设计如下:1234562.概要设计为了实现上述程序功能,需要:声明一个循环队列定义出队列的基本算法,通过键盘输入5个整数,入队,出队.专业.专注.......在主函数中先往队列里输入5个元素,然后入队,输出,看入队是否成功,然后出队,再调用display()函数看是否出队。1)本程序包含7个函数:1主函数main()2.置空队:InitQueue()3.判对空:QueueEmpty()4.判队满:QueueFull()5.入队:Add()6.出队:Delete()7.display()各函数关系如下:InitQueue()QueueEmp
3、ty()Main()QueueFull()Add()MainDelete()display()3、详细设计.专业.专注.......实现概要设计中定义的所有的数据类型,对每个操作给出了算法和代码,主程序和模块都需要代码。(1)循环队列#definemaxlen10typedefstruct{intdata[maxlen];intfront;intrear;}SeqQueue;(2)队列基本算法SeqQueue*InitQueue(SeqQueue*q)//建立一个空循环队列{q=(SeqQueue*)malloc(sizeof(SeqQueue));q->fron
4、t=0;q->rear=0;returnq;}intQueueFull(SeqQueue*q){//判断队列是否为满if(q->front==(q->rear+1)%maxlen)return1;.专业.专注.......elsereturn0;}intQueueEmpty(SeqQueue*q){//判断队列是否为空if(q->rear==q->front)return1;elsereturn0;}voidAdd(SeqQueue*q,intx)//入队{if(!QueueFull(q)){q->rear=(q->rear+1)%maxlen;q->data[q
5、->rear]=x;}elseprintf("queuefull");}voidDelete(SeqQueue*q){//出队if(!QueueEmpty(q))q->front=(q->front+1)%maxlen;elseprintf("queueEmpty");}.专业.专注.......(3)用display()函数输出循环队列元素voiddisplay(SeqQueue*q)//输出循环队列q的元素{inti;if(q->front!=q->rear)//循环队列非空,输出队列元素{printf("输出循环队列元素:");i=q->front;do{i
6、=(i+1)%maxlen;printf("%d",q->data[i]);}while(i!=q->rear);}elseprintf("队列为空!");}(4)在主函数中先往队列里输入5个元素,输出,看入队是否成功,然后出队,再调用display()函数看是否出队。intmain().专业.专注.......{SeqQueue*q;inti,y;q=InitQueue(q);//建立空循环队列printf("请输入5个元素");for(i=0;i<5;i++)//入队5个元素{scanf("%d",&y);Add(q,y);}display(q);//输出循环
7、队列元素for(i=0;i<5;i++)//把5个元素出队{Delete(q);}printf("请输入1个元素");scanf("%d",&y);//再入队一个元素Add(q,y);display(q);//再输出循环队列元素return0;}.专业.专注.......4、调试分析编译无错误5、用户使用说明程序名为class1.exe,在DEBUG文件夹里面。运行环境Visualc++6.0。6、测试结果7、附录#include#include#definemaxlen10typedefstruct{intdata[ma
8、xlen]
此文档下载收益归作者所有