c语言数据结构(链表)

c语言数据结构(链表)

ID:34707762

大小:47.64 KB

页数:4页

时间:2019-03-09

c语言数据结构(链表)_第1页
c语言数据结构(链表)_第2页
c语言数据结构(链表)_第3页
c语言数据结构(链表)_第4页
资源描述:

《c语言数据结构(链表)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言数据结构(链表)1.把元素x插入表中并保持链表的有序性;2.查找值为x的元素,若找到将其删除;3.输出表中各元素的值。#include#includetypedefstructNode//结点类型定义{intdata;structNode*next;}Node,*LinkList;InitList(LinkList*L){*L=(LinkList)malloc(sizeof(Node));(*L)->next=NULL;}voidGreateTail(LinkListL)//尾插法{Node*s,*r;intn,flag=1;r=L;while(f

2、lag){scanf("%d",&n);if(n!=0){s=(Node*)malloc(sizeof(Node));s->data=n;r->next=s;r=s;}else{flag=0;r->next=NULL;}}}Node*Find_Del(LinkListL,intk)//在单链表L中查找数据为k的元素,找到后并删除{Node*p,*r=L;p=L->next;while(p!=NULL)if(p->data!=k){p=p->next;r=r->next;}elsebreak;if(p==NULL){printf("该有序数列中无此数据!");printf("请重新输入数据

3、:");scanf("d",&k);//}p=r->next;r->next=p->next;returnp;free(p);}voidInsert(LinkListL,inte){LinkListp=L->next,q=L,s;if(p->next==NULL){printf("这是一个空表");}else{while(p&&(p->data<=e)){q=p;p=p->next;}if(p&&(p->data>=e)){s=(LinkList)malloc(sizeof(Node));s->data=e;s->next=p;q->next=s;}else{s=(LinkList

4、)malloc(sizeof(Node));s->data=e;s->next=NULL;q->next=s;}}}voidprint(LinkListL){LinkListp=L->next;while(p){printf("%d",p->data);p=p->next;}}voidmain(){intk,e;LinkListL;InitList(&L);while(1){printf("请输入一行有序数列,以零结束!");//------赋值GreateTail(L);printf("该有序数列:");print(L);printf("");printf("请输入要插入的

5、值:");scanf("%d",&e);Insert(L,e);printf("插入之后有序链表:");//------插入print(L);printf("");printf("输入你要删除的元素:");//--查找并删除scanf("%d",&k);Find_Del(L,k);printf("删除k后的链表是:");print(L);printf("");}}

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

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

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