- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法与数据结构队列的插入和删除
算法与数据结构结课报告
摘要
为充分利用向量空间,克服假溢出现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列。队列的操作特点是“先进先出”。前者主要是头指针、尾指针的使用,后者主要是理解循环队列提出的原因及其特点。两者都要掌握队列空与满的判定条件以及出队列、入队列操作的实现。
设计内容
1、编写函数实现队列的删除功能
2、编写函数实现队列的插入功能
2、运行程序实现以下功能
(1) 创建一个队列:11 22 33 44 55 66 77 88
(2) 调用删除函数,分别令队列中的四个元素出队列;
(3) 调用插入函数,使元素 99, 11入队列;
(4) 输出最终队列的元素。
核心程序代码
1 删除操作
int delqueue() /*出队函数*/
{
int x;
if(front==rear) /*溢出判断*/
{
printf(队列空,下 溢!\n);
exit(1); /*溢出中断*/
}
else
{
front=(front+1)%MAXSIZE;
x=queue[front];
}
return x; /*返回出队元素*/
}
2插入操作
void addqueue(int x) /*入队函数*/
{
if(front==(rear+1)%MAXSIZE) /*溢出判断*/
{
printf(队列满,上溢!\n);
exit(1); /*溢出中断*/
}
else
{
rear=(rear+1)%MAXSIZE;
queue[rear]=x;
}
}
主函数流程图
实验结果及分析
输入数字进行程序功能选择,首先进行入队操作,创建队列:11 22 33 44 55 66 77 88
选择功能,进行出队操作,出队元素个数为4,数据分别为11 ,22 ,33 , 44 。队列中剩余元素为 55,66,77,88。
选择功能,进行入队操作,元素为99, 11 。入队后队内数据为55,66,77,88,99,11。
心得体会
在wintc中运行程序输出汉字显示为乱码,
再查找中发现可以在主函数定义变量后插入以下语句:
system( graftabl 936 );
clrscr();
便可使其正常输出。
编程中要有良好的习惯,比如{}()等要成对输入, 方便程序编写。也要及时添加注释,方便错误改正和日后使用。
显示队列
出队
退出程序
入队
输入控制量x
开始
文档评论(0)