单向链表-c语言实现.c(one way linked list -c language to achieve.c)

单向链表-c语言实现.c(one way linked list -c language to achieve.c)

ID:16257987

大小:21.39 KB

页数:22页

时间:2018-08-08

单向链表-c语言实现.c(one way linked list -c language to achieve.c)_第1页
单向链表-c语言实现.c(one way linked list -c language to achieve.c)_第2页
单向链表-c语言实现.c(one way linked list -c language to achieve.c)_第3页
单向链表-c语言实现.c(one way linked list -c language to achieve.c)_第4页
单向链表-c语言实现.c(one way linked list -c language to achieve.c)_第5页
资源描述:

《单向链表-c语言实现.c(one way linked list -c language to achieve.c)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单向链表-c语言实现.c(Onewaylinkedlist-clanguagetoachieve.C)#includesstdio.h>

2、eof(node));if(!(h)return0;h->next=null;//returnh;}intaddfromhead(node*l,elemtypeand)//头插创建,l需要已经初始化,输入e结束,原有数据不会清空{node*s;intflag=1;elemtypedate;//暂时存输入数据while(flag){printf("intyournumber:");scanf("%d"&date);if()=and)//以输入e结束{flag=0;}else{d=(node*)malloc(sizeof(node));//开辟if(!d)return0;s->date=da

3、te;s->next=l->next;//头插l->next=s;}}return1;}intaddnfromhead(node*a,intn)//头插法创建n个元素的链表,l已经初始化,原有内容不会清空{node*s;intc=0;//计数for(c=1);c=n,c++){s=(node*)malloc(sizeof(node).if(!(s)return0;printf(intyournumber:");scanf("%d">,&s).s->next=s->next.l->next=s;}return1;//无异常,返回1}addfromend(node*l,intelemtype

4、(e)////////尾插法创建,输入e结束,l已经初始化,原有内容会丢失{node**r;intflag=1.elemtypedata.r=i;//尾指针指向头结点,原有内容会丢失while(flag){printf(intyournumber:");scanf("%d"&data).if()=(e)////////以输入0结束{flag=0;}else{s=(node*)malloc(sizeof(node));//动态开辟if(!(s)return0;s->data=data.r->next=s;r=s}}r->next=null;return1;//无异常,返回1}inaddnf

5、romend(node*l,intn)//////////////尾插法创建n个,原有内容会丢失{node**r;intc=0;//////////////计数r=i;//尾指针指向头结点,原有内容会丢失forc=1,c=n,c++){s=(node*)malloc(sizeof(node).if(!(s)return0;printf(input):");scanf("%d">,&s).r->next=s;r=s}r->next=null;返回1;}intdel(节点*L,intn,输出*REC)//删除链表L中的第N个元素,REC保存被删除的数值{结*前*R;//预为前驱int=0;前

6、置=L;对于(c=0;!=null;C++){前=下一个;}如果(预>下一个=NULL)返回0;R=预>下;//R为待删除的前>下一个;*记录=R/保存删除的值->数据;自由(R);返回1;}国际主题(节点*L,intn,输出*REC)//写给第N个节电数值,REC取得原来的数值{节点*;int=0;p=L;对于(c=0;c<p和p)!=null;C++){下一页;}如果(p=NULL)返回0;*记录=P/取值->数据;printf(“int新号码:”);scanf(“%d”,普->数据);返回1;}插入(节点*L,intn,Elemtypenum)//在第N个位置插入数值Num{节点*

7、;intc;前置=L;对于(c=0;!=null;C++){前=下一个;}S=(结点)malloc(sizeof(结));如果(!S)返回0;数据;下一步;前>下一个;返回1;}*找到节点(节点*L,输出数)//查找数值num,返回地址{节点*;下一步;而(P){如果(p=>数据=数字)打破;其他的下一页;}返回p;}结*找(节点*L,intn)//查找第N个位置的元素,返回地址{节点*;intc;p=L;对于(c=0;c<p和p)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。