c 链表类模板的实现(清华大学出版社 c 语言程序设计第4版)(课本)(C linked list template implementation (Tsinghua University press c language programming fourth edition) (Textbook)).docVIP

c 链表类模板的实现(清华大学出版社 c 语言程序设计第4版)(课本)(C linked list template implementation (Tsinghua University press c language programming fourth edition) (Textbook)).doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c 链表类模板的实现(清华大学出版社 c 语言程序设计第4版)(课本)(C linked list template implementation (Tsinghua University press c language programming fourth edition) (Textbook))

c++链表类模板的实现(清华大学出版社 c++语言程序设计第4版)(课本)(C++ linked list template implementation (Tsinghua University press c++ language programming fourth edition) (Textbook)) // h #则node_h /结点类模板 #定义node_h 模板 类/新添链表; 模板类:/ /新添 类节点 { 私人: 结T *下;/ /指向后继指针的结点 公共: T /数据域数据; 节点(const T的数据,节点T *下= 0);//构造函数 insertAfter(无效节点T * p);//在本结点之后插入一个同类的结点P 结T * deleteafter();/ /删除本结点的后继结点,并返回其地址 结T * nextnode();/ /获取后继结点的地址 const节点T * nextnode() const;//获取后继结点的地址 朋友LinkedList T;/ /因操作需要将LinkedList T作为节点的友元(新添) }; 模板 节点:节点(常量T和数据,节点下一个/ 0):数据(数据),下一个(下一个) { } 模板 结T *结T::nextnode() { 然后返回; } 模板 const节点T *结T::nextnode() const { 然后返回; } 模板 无效节点T::insertAfter(节点T * P) { 下一个; 下一个= p; } 模板 结T *结T::deleteafter() { 结T * tempptr =未来; 如果(下= 0)返回0; 未来= tempptr -下; 返回tempptr; } # endif H /链表。 #则linkedlist_h #定义linkedlist_h #包含iostream #包括“节点。” 模板 LinkedList类 { 私人: 结T *前*后;/ /表头和表尾指针 节点prevptr T *,* currptr;/ /记录表当前遍历位置的指针,由插入和删除操作更新 数组的大小;/ /表中的元素个数 国际地位;/ /当前元素在表中的位置序号,由函数复位使用 / /函数成员: / /生成新结点,数据域为项目,指针域为ptrnext 结T * NextNode(const T项目节点T * ptrnext = null); 其中无效(节点T * p);//释放结点(未用) / /将链表L复制到当前表(假设当前表为空) / /被复制构造函数和”运算符=“调用 复印无效(LinkedList T L);/ /(因实现需要,无法使用(LinkedList T const L)作为形参表) 公共: 无效print();/ /打印链表类里的数据及其数目(新添) linkedlist(); 链表(LinkedList T L);/ /复制构造函数(因实现需要,无法使用(LinkedList T const L)作为形参表) ~ linkedlist(); LinkedList T 运算符=(LinkedList T L);/ /重载赋值运算符(因实现需要,无法使用(LinkedList T const L)作为形参表) getsize() const int;//返回链表中的元素个数 布尔isempty() const;//链表是否为空(未用) 无效复位(int pos = 0);//初始化游标的位置(第一位数的位置设为0) next() /使游标移动到下一个结点无效; 布尔endoflist() const;//游标是否到了链尾 在当前位置(void);/ /返回游标当前的位置 无效insertfront(const T项目);/ /在表头插入结点 无效insertrear(const T项目);/ /在表尾添加结点 无效insertat(const T项目);/ /在当前结点之前插入结点 insertAfter(const T无效项目);/ /在当前结点之后插入结点 T deletefront();/ /删除头结点 deletecurrent() /删除当前结点无效; T data();/ /返回对当前结点成员数据的引用 const T data() const;//返回对当前结点成员数据的常引用 / /清空链表:释放所有结点的内存空间。被析构函数和”运算符=“调用 无效clear(); }; 模板 结T * LinkedList T::下一个节点(const T项目节点T * ptrnext)/生成新结点,数据域为项目,指针域为ptrnext { 结T * tempptr =新节点T(项目,ptrnext); 返

文档评论(0)

allap + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档