VC++程序设计链表与链表的基本操作.ppt

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

* * * * * * * * templatetypename T NodeT* ListT::Find(T data){ NodeT *tempP=head-link; while(tempP!=NULLtempP-info!=data) tempP=tempP-link; return tempP; } //搜索成功返回该结点地址,不成功返回NULL templatetypename Tint ListT::Length( ){ NodeT* tempP=head-link; int count=0; while(tempP!=NULL){ tempP=tempP-link; count++;} return count; } templatetypename Tvoid ListT::PrintList( ){ NodeT* tempP=head-link; while(tempP!=NULL){ couttempP-info\t; tempP=tempP-link; } coutendl; } templatetypename Tvoid ListT::InsertFront(NodeT *p){ p-link=head-link; head-link=p; if(tail==head) tail=p; } templatetypename Tvoid ListT::InsertRear(NodeT *p){ p-link=tail-link; tail-link=p; tail=p; } templatetypename TNodeT* ListT::CreatNode(T data){ NodeT*tempP=new NodeT(data); return tempP; } templatetypename Tvoid ListT::InsertOrder(NodeT *p){ NodeT *tempP=head-link, *tempQ=head; //tempQ指向tempP前面的一个结点 while(tempP!=NULL){ if(p-infotempP-info) break; //找第一个比插入结点大的结点,由tempP指向 tempQ=tempP; tempP=tempP-link; } tempQ-InsertAfter(p); //插在tempP指向结点之前,tempQ之后 if(tail==tempQ) tail=tempQ-link; } templatetypename T NodeT* ListT::DeleteNode(NodeT* p){ NodeT* tempP=head; while(tempP-link!=NULLtempP-link!=p) tempP=tempP-link; if(tempP-link==tail) tail=tempP; return tempP-RemoveAfter( ); } //本函数所用方法可省一个工作指针,与InsertOrder比较 【例7.4】由键盘输入16个整数,以这些整数作为结点数据,生成两个链表,一个向前生成,一个向后生成,输出两个表。然后给出一个整数在一个链表中查找,找到后删除它,再输出该表。清空该表,再按升序生成链表并输出。 在VC++平台上演示本例。 在本例中程序只需调用类模板中的成员函数就可以完成所有链表操作。 * * * * * * * * * * * * * * * * * * * * * * * * * * VC++程序设计链表与链表的基本操作 链表是一种动态地进行存储分配的结构。最简单的链表称为单向链表,如图所示: 1249 A 1356 B 1475 C 1021 D NULL Head 1249 1356 1475 1021 特点: 1。头指针变量head, 它存放一个地址,用于指向一个元素。 链表中的一个元素称为结点。 2。每个结点至少应包含两个部分

文档评论(0)

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

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

1亿VIP精品文档

相关文档