博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单向链表的逆序操作
阅读量:6889 次
发布时间:2019-06-27

本文共 2498 字,大约阅读时间需要 8 分钟。

#include 
#include
#define ElemType inttypedef struct node{ ElemType data; struct node *next;}node,*link;void display(link list);//使用头插法link createH(link l){ ElemType i; l->next=NULL; link p=NULL; while(1){ /*p=(link)malloc(sizeof(node)); if (NULL == p) { printf("memory out of use/n"); return l; } */ for(i=1;i<10;i++){ p=(link)malloc(sizeof(node)); p->data=i; p->next=l->next; l->next=p; } break; /* if(scanf("%d",&p->data)!=EOF){ p->next=l->next; l->next=p; }else{ break; }*/ } return l; }link createF(link list){ link p,k; list->next=NULL; int i; for(i=1;i<10;i++){ k=list; p=(link)malloc(sizeof(node)); p->data=i; while(k->next!=NULL){ k=k->next; } p->next=NULL; k->next=p; } return list;}//方法一link reverseA(link prev,link cur){ link list=NULL; if(cur==NULL){ return prev; } list=reverseA(cur,cur->next); cur->next=prev; return list;}//方法二link reverseB(link p){ if( p->next==NULL){ return p; } link ph=reverseB(p->next); p->next->next=p; p->next=NULL; return ph;}//方法三link reverseC(link l){ link p=NULL,q=NULL; p=l->next; l->next=NULL;//头结点分离 while(p!=NULL){ q=p; p=p->next; q->next=l->next; l->next=q; } return l;}//方法四link reverseD(link l){ link p=NULL,q=NULL; if(l==NULL){ return l; } p=l; q=p->next; if(q==NULL){ return p; }else{ l=reverseR(q); } q->next=p; p->next=NULL; return l;}//方法五link reverseE(link p){ link pre=NULL,pnext=NULL,cur=p; while(cur!=NULL){ pnext=cur->next; cur->next=pre; pre=cur; cur=pnext; } return pre;}//按照位置删除节点link delete(link list,int i){ link p=list,k=NULL; if(i==1){ return list=list->next; } int j=2; while(p!=NULL){ if(i==j){ p->next=p->next->next; break; } p=p->next; j++; } free(p); return list;}void display(link list){ link p=list; while(p!=NULL){ printf("%4d",p->data); p=p->next; } printf("\n");}void main(){ link list,p,r; list=(link)malloc(sizeof(node)); p=(link)malloc(sizeof(node)); r=(link)malloc(sizeof(node)); p=createF(list); display(p); r=reverseA(NULL,p); display(r); r=reverseB(p); display(r);}

 

转载地址:http://xqtbl.baihongyu.com/

你可能感兴趣的文章
ASP.NET Core 中文文档 第二章 指南(4.2)添加 Controller
查看>>
自己动手写插件底层篇—基于jquery移动插件实现
查看>>
一天干掉一只Monkey计划(序)【转】
查看>>
C++11中的原子操作(atomic operation)(转)
查看>>
std::nothrow
查看>>
通俗讲解:PoW共识机制与以太坊的关系、Ghost协议 及 PoS共识机制的变种---Casper...
查看>>
给想雇佣我的人说的话/Some words to somebody who want to hire me.
查看>>
网站程序(案例)
查看>>
spring依赖注入单元测试:expected single matching bean but found 2
查看>>
ubuntu下安装xlrd模块,Mysqldb模块
查看>>
Git_自定义Git
查看>>
js手机适配
查看>>
软件测试书籍推荐
查看>>
[linux]执行pip安装的程序:command not found
查看>>
dcm4che tools 之dicomdir
查看>>
HDU 4849-Wow! Such City!(最短路)
查看>>
关于IM的一些思考与实践
查看>>
SimInfo获取(MCC, MNC, PLMN)
查看>>
[置顶] 我的Android进阶之旅------>介绍一款集录制与剪辑为一体的屏幕GIF 动画制作工具 GifCam...
查看>>
IMP导入数据 出现ORA-01691问题 解决办法
查看>>