c++线性表链式存储结构【单链表的基本操作】(The basic operation of c++ linear chain storage structure [singlechain]).docVIP

c++线性表链式存储结构【单链表的基本操作】(The basic operation of c++ linear chain storage structure [singlechain]).doc

  1. 1、本文档共15页,可阅读全部内容。
  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线性表链式存储结构【单链表的基本操作】(Thebasicoperationofclinearchainstoragestructure[singlechain])

c++线性表链式存储结构【单链表的基本操作】(The basic operation of c++ linear chain storage structure [singlechain]) #包含iostream 使用命名空间; 模板类 结构体类型 { T数据; 结T *下; }; 模板类 类链表 { 结T *头; 公共: linklist(); 链表(T [ ],int n); ~ linklist(); 国际listlength(); 不到(int POS); int定位(T项目); 无效printlinklist(); 插入(I,T项目); 不删除(int i); 无效invert(); 无效的合并(链表T和L1、L2链表T); }; 模板类 链表T::linklist() { 头=新节点T; 头-下= null; } 模板类 链表T::LinkList(一个[ ],int n) { 结T *,* R; 头=新节点T; R =头; 为(int i = 0;i n;i++) { S =新节点T; S—数据=一个[我]; 的R - 下= S; R = S; } 的R - 下= null; } 模板类 int链表T::listlength() { 结T * P; int num = 0; P =头-下; 而(P) { P = P - 下; Num + +; } 返回num; } 模板类 T链表T::把(int POS) { 结T * P; P =头-下; j = 1; 而(P J POS) { P = P - 下; J++; } 如果(!p){ cerr “查找位置非法”;出口(1);} 否则返回P -数据; } 模板类 int链表T::定位(T项目) { 结T * P; P =头-下; j = 1; 而(P P -数据!=项目) { P = P - 下; J++; } 如果返回J(P); 否则返回0; } 模板类 空链表T::printlinklist() { 结T * P; P =头-下; 而(P) { cout P -数据 endl; P = P - 下; } } 模板类 空链表T::插入(int I,T项目) { 结T *,*; P =头; j = 0; 而(P J I-1) { P = P - 下; J++; } 如果(!p){ cerr “插入位置非法”;出口(1);} 别的{ S =新节点T; S—数据项; S -下= P 下; P 下= S; } } 模板类 T链表T::删除(int i) { 结T×P×Q; t x; P =头; j = 0; 而(P J I-1) { P = P - 下; J++; } 如果(!P | |!P 下){ cerr “删除位置非法”;出口(1);} 其他的 { Q = P 下; X = Q -数据; P 下= Q 下; 删除Q; 返回x; } } 模板类 链表T::~ linklist() { 结T×P×Q; P =头; 而(P) { Q = P; P = P - 下; 删除Q; } 头= null; } 模板类 空链表T::invert() { 结T×P×Q; P =头-下; 头-下= null; 而(P!= null) { Q = P; P = P - 下; Q 下=头-下; 头-下= Q; } } 模板类 空链表T::合并(链表T和L1、L2链表T) { 结T * * * P1,P2,P3; P1 = L1。头-下; P2 = L2。头-下; P3 = l1.head; 而((P1!= null)和(P2!= null)) { 如果((P1 -数据)(P2 -数据)) { P3 -下= P1; P1 = P1 -下; P3 P3 -下; } 其他的 { P3 -下= P2; P2 = P2 -下; P3 P3 -下; } } 如果(P1!= null)-下= P1 P3; 如果(P2!= null)-下= P2 P3; 删除l2.head; 二头= null; } 国际main() { int [] = { 1,3,5,7,9,12,17,23,27,29 }; b [ ] = { 2,4,6,8,15,12,13,18,21,22 }; C(一个链表中,10); cout “单链表元素是:“ endl; C. printlinklist(); cout “单链表的长度是:“ C. listlength() endl; cout “单链表的第二个元素是:“个性太强(2) endl; cout “单链表的元素为3是第” c.locate(3)“个数” endl; cout “在第4个位置插入值为6:“ endl; c.insert(4,6); c

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档