数据结构 --队列 --- C++实现.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 --队列 --- C++实现.doc

目录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc2258 一、 题目内容及要求 PAGEREF _Toc2258 3 HYPERLINK \l _Toc16140 二、 题目设计思路 PAGEREF _Toc16140 3 HYPERLINK \l _Toc5084 三、 类设计与类关系 PAGEREF _Toc5084 4 HYPERLINK \l _Toc7971 四、 主要功能函数流程图 PAGEREF _Toc7971 4 HYPERLINK \l _Toc20382 五、 运行结果及分析 PAGEREF _Toc20382 5 HYPERLINK \l _Toc14570 六、 总结 PAGEREF _Toc14570 6 题目内容及要求 1. 队列是一种连续的存储结构,存入数据只能从一端(称为尾部)进入,取出数据则只能从另一端(头部)取出。根据下述描述实现一个自定义的队列类: template typename Type struct LinkNode { Type data; LinkNodeType *next; LinkNode() : next(NULL) { } LinkNode( const Type x,LinkNodeType *p=NULL ) : data(x),next(p) { } }; template typename Type class Queue { public: Queue (); //构造函数 ~Queue (); //析构函数 inline bool isEmpty () const; //队列是否为空 inline void makeEmpty(); //清空队列 inline void enqueue( const Type x ); //插入一个元素 inline void dequeue( Type x ); //弹出一个元素 inline void getFront( Type x); //得到对头元素 private: LinkNodeType *front; //指向头结点的指针,front-next-data 是队头的第一个元素 LinkNodeType *rear; //指向队尾(最后添加的一个元素)的指针 inline void handleUnderflow(); //控制队列下溢 }; 题目设计思路 queue.h文件 在queue.h头文件中使用命名空间itlab在其中声明: 模板结构体链表结点(struct LinkNode),其中包含的数据成员有: ①模板参数类类型Type 对应的data,存放模板实现类的具体数据,②LinkNodeType 模板类型结构体指针 next,用来指向下一个结点; 成员函数包括: ①LinkNode()无参构造函数,其中数据成员next默认为NULL,②LinkNode(const Type x,LinkNodeType *p = NULL),采用参数初始化表对数据成员初始化,其中第一个参数为常量Type类型的引用x,初始化数据成员data,第二个参赛为结构体类型指针p默认值为NULL,用来初始化数据成员next。 模板类队列(class Queue),包含的公共成员函数有: ①无参构造函数 Queue(),在定义对象时,由系统调用,完成对象的初始化; ②析构函数~Queue(),与构造函数相反,是在撤销对象占用内存前进行一些清理工作。可以被用来执行“用户希望在最后一次使用对象之后所执行的任何操作”; ③内联函数判断队列是否为空,返回值为布尔类型常量,inline bool isEmpty() const; ④内联函数清空队列,无返回值,inline void makeEmpty(); ⑤内联函数向队列中插入一个元素,inline void enqueue(const Type x),参数为Type类型常量,插入的新元素作为队列中的队尾结点; ⑥内联函数从队列中弹出一个元素, inline void dequeue( Type x ),无返回值,但传入参数为Type类型的引用x,从对首取出结点元素的数据,将其赋值给x,实现函数值的返回; ⑦内联函数得到对首元素结点的数据,inline void getFront( Type x),同样采用函数参数

文档评论(0)

kanghao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档