线性表算法总结.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会计学;1.顺序存储结构;2.链式存储结构;1.顺序存储结构;;void inverse(LinkList L) { // 逆置带头结点的单链表 L p=L-next; L-next=NULL; while ( p) { succ=p-next; // succ指向*p的后继 p-next=L-next; L-next=p; // *p插入在头结点之后 p = succ; } };void inverse(LinkList L) { p=L-next; pre=NULL; while ( p) { succ=p-next; // succ指向*p的后继 p-next=pre; pre=p; p = succ;} L-next=pre; };1)void inverse(LinkList L) {//思路直接逆置 // 逆置不带头结点的单链表 L p= NULL; //p记录刚逆置的结点 q=L;//q记录将要逆置的结点 while ( q!=NULL) { L=L-next; q-next=p; p = q; q = L; } L=p; };void inverse(LinkList L) { // 逆置带头结点的单循环链表L p=L-next; L-next=L; while (p!=L) { r=p-next; p-next=L-next; L-next=p; p=r; } };void inverse(LinkList p0) { // 逆置不带头结点的单循环链表p0 ,逆转后链表头指针仍为p0 p= p0; q=NULL; while (p-next!= p0) { r=p-next; p-next=q; q=p; p=r; } p-next=q; p0-next=p; p0=p; };分析:应先找到第i-1个结点,记下第i个结点,然后从第i+1个结点开始直至第m个结点,依次插入到第i-1个结点之后,最后将暂存的第i个结点的指针指向原第m个结点(即倒置后第i-1个结点的后继)。;void ParrernInvert(LinkList L,int i,int m){ if (i1||i=m||m4){ printf(“参数错误!”); exit(0);} p= L-next-next; pre=L-next; j=1; while(ji-1){//查找第i-1个结点 pre=pre-next;j++;} s=pre-next;//让s记下第i个结点 p=s-next;//p为活动指针 while(p!=s){ //逆置 q=p-next; p-next=pre-next; pre-next=p; p=q; } s-next=pre-next;//原第i个结点指向原第m个结点 } ;分析:本题也是模式匹配问题,应先找出链表L2在链表L1中的出现位置,然后再将L1中的L2倒置。设L2在L1中出现时第一个字母结点的前驱的指针为p,最后一个字母结点在L1中为q所指结点的前??,则在保存p后继结点指针s的情况下,执行p-next=q,之后再将s到q结点的前驱依次插入到p结点之后。;void ParrernInvert(LinkList L1,LinkList L2){ p=L1;q=L1-next;s=L2-next; while(q!=NULL s!=NULL) //匹配的过程 if (q-data==s-data) { q=q-next;s-s-next;} else{ p=p-next; q=p-next; s=L2-next;} if (s==NULL){ //存在 r=p-next;//r为L1中的工作指针, p-next=q;//将p与q链接 while(r!=q){ s=r-next; r-next=p-next; p-next=r; r=s; } else pr

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

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

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档