实现你自己的队列
前提, 目标和结果
前提: 学生需要掌握以下知识
· 队列 – 队列的基本性质
· 链
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
– 链表的实现与使用
目标: 本次上机作业目的在于加强学生对于数据结构队列的理解
结果: 学生独自成功完成这次作业会有如下结果
· 理解数据结构---队列,加强了对于计算机科学中最重要的数据结构之一的理解
背景
学生如果对于队列有不明白的地方,可以参考老师的MATCH_
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
_1714098802192_1。在这里不再赘述队列的资料。
任务
本次作业中,学生需要实现两个通用的队列(需要用到C++的模板特性),这两个队列支持下面两个操作:
bool offer(T value); //返回 true,如果插入成功
T poll(); //返回第一个对象,或者返回空
,如果队列为空
注意,本次作业中实现的队列和
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
的队列略有不同。本次作业中的队列有如下两个性质:
1. 任何提供给offer的空值都应该被舍弃掉,而不是添加到队列的后面,并且offer应该返回false表示插入失败。
2. 如果要插入的值已经在队列中存在了,那么这个值就不应该再次被插入到队列中去,并且offer应该返回false。
在第一个类中,你应该使用一个链表去实现这个队列,并且这个队列可以增长到任何需要的大小。在第二个类中,需要用一个数组去实现这个队列,在本次作业中这个队列的大小应该为10,并且不会改变。
为了实现第一个队列,你需要使用一个通用的Node类,用来存储链表中的节点。在第二个类中,数组大小是固定的,不应该被改变。
在你的主函数中,测试的时候是使用的string来测试的,可以将string输入到这个对垒中,然后打印在队头的string,(通过命令"poll"),插入一个空值(通过命令"null"),或者是退出程序(命令"quit")。任何其他的string都应该被放到队尾,通过调用offer方法。
关于两个类的测试,只需要改变类的名字即可,这意味着你需要使用C++的继承机制。
下面的代码给出了main函数的框架,你的程序需要正确的执行这个main函数(请注意类的名字)。
int main(int argc,char* args[])
{
//这里可能会有其他代码 ?
//Queue类是LinkedListQueue和ArrayQueue类的父类,你的类应该是这样的名字.
Queue
*queue;
// 只需要修改子类的名字就可以完成对另外一个子类的测试
queue = new LinkedListQueue;// queue = new ArrayQueue;
while (true)
{
//显示系统菜单
......
// 核对是否为"quit"命令
......
// 核对是否为poll命令
......
// 核对是否为null命令
......
// 其他情况
......
// 可能需要其他代码?
......
}
cout<<"Bye"<
本文档为【4.实现你自己的队列】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。