C语言链表基本操作

上传人:沈*** 文档编号:129589496 上传时间:2022-08-03 格式:DOCX 页数:4 大小:23.44KB
返回 下载 相关 举报
C语言链表基本操作_第1页
第1页 / 共4页
C语言链表基本操作_第2页
第2页 / 共4页
C语言链表基本操作_第3页
第3页 / 共4页
点击查看更多>>
资源描述
/链表操作:建立、插入、删除、查找、倒置、删除等基本操作/喜洋洋制作ttincludestdio.httincludestdlib.htypedefstructLNodeintdata;structLNode*next;LNode,*Llist;LNode*creat_head();/创建个空表voidcreat_list(LNodeint);/创建一个长度为n的八、ru亠int,int);/插入一个元素voidinsert_list(LNode*,intdelete_list(LNode*,intfound_list(LNode*,int);/删除一个元素int);/链表查询voidreverse(LNode/倒置整个链表;/删除整个链表voiddelete_whole(LNode*)voidprint_list(LNode*);/打印链表mainOLNode*head;intn,n2;intx,i;intb;chartempi,temp2;head=creat_head();printfC请输入链表的节点个数n=);scanf(%d,&n);printf(,zn请输入数据:n“);creat_list(head,n):/创建链表print_list(head);printf(z,nkLkLzjsz|szjszjszjsjsyjszjsyjsyjszp%zjsyjsx|szjs|szjszjsn);printf(z,n下面进行链表插入兀素n“);printf(z,n请输入您需要插入的兀素x=“);scanf(d,&x);printf(z,n请输入即将插入的位置i=“);scanf(d,&i);insert_list(head,x,i):/插入兀素print_list(head);vy!-f.,*|*4*Y*斗;iL,|,|4|i|!;*!打卜T*n);printf(n下面进行链表删除兀素n“);printf(n请输入艮卩将删除元素的位置:i=“);scanf(%cT,&i);b=delete_list(head,i);/删除兀素print_list(head);printf(nn成功删除兀素:%d,b);printf(“nv!kL%!vL1*zjsyjsp%n);printf(n下面进行链表查询n“);printf(n请输入即将查询的兀素:x=“);scanf(%d,&n2);if(found_list(head,n2)0)/链表查询printf(”找到了,在第%d的位置上”,found_list(head,n2);elseprintf(没有找到!);printf(”nlxvjkLkL%LvjvtvLvtx!kLkLvtkLxtkLn“);printfCn是否倒置整个链表?Y/Nn);fflush(stdin);scanf(%c,&tempi);iffV=templ)/侄lj置链表reverse(head);print_list(head);printf(z,nkLkLkLvt%fxx!v!xkLv!kLyjszjyjz|sjsyjszjyjsz|yjszjyjsn);printf(zzn是否删除整个链表?Y/Nn);fflush(stdin);scanf(c,&temp2);ifCr=temp2)/删除链表delete_whole(head);printfCn成功删除整个链表n);/创建一个空链表LNode*creat_head()LNode*p;p=(Llist)malloc(sizeof(LNode);if(NULL=p)printf(,z内存申请失败!“);elsereturn(p);)/创建一个长度为n的线性链表voidcreat_list(LNode*head,intn)LNode*p,*q;inti;p=head;for(i=l;inext=NULL;p-next=q;P二q;/插入一个元素voidinsert_list(LNode*head,intx,inti)intj=0;LNode*p,*s;p=head;while(p!=NULL)&(jnext;j+;辻(p二二NULL)exit(0);s=(Llist)malloc(sizeof(LNode);辻(NULL二二p)printfC内存申请失败!“);elsesdata=x;p-next=s;/删除一个元素intdelete_list(LNodeinti)*head,LNode*p,*q;intj=0;intx;p=head;wh订e(p!=NULL)&(jnext;j+;if(p=NULL)exit(0);q=p-next;p-next二q-next;x=q-data;free(q);q=NULL;return(x);/删除整个链表voiddelete_whole(LNode*head)LNode*p,*q;p=head;wh订e(p!=NULL)q=p-next;free(p);P=Q;/倒置链表voidreverse(LNode*head)LNode*p,*s,*t;p二head;s=p-next;while(s-next!二NULL)/主要置换过程next=p:p=s;s=t;snext=p;head-next-next=NULL:/片攵尾head-next=s;/赋头/打印链表voidprint_list(LNode*head)1LNode*p;for(p=head-next;p!=NULL;)(printf(/z%dz/,p-data):p=p-next;/链表查询intfoundist(LNode*head,intn)LNode*p;inti=l;for(p=head-next;p!=NULL;)(if(n=p-data)(returni;i+;p=p-next;if(NULL=p)return0;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!