2022年单链表的基本操作 .pdf

上传人:C****o 文档编号:40168198 上传时间:2022-09-08 格式:PDF 页数:5 大小:40.48KB
返回 下载 相关 举报
2022年单链表的基本操作 .pdf_第1页
第1页 / 共5页
2022年单链表的基本操作 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年单链表的基本操作 .pdf》由会员分享,可在线阅读,更多相关《2022年单链表的基本操作 .pdf(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、#include#include typedef int ElemType;/*定义 ElemType 为 int 类型*/#define TRUE 1#define FALSE 0#define flag-1/*单链表的结点类型*/typedef struct LNode ElemType data;struct LNode*next;LNode,*LinkList;/LNode是此结构体的类型名,而LInkList 是结构体指针的类型名LinkList LinkListInit()/*建立一个单链表*/LinkList L;L=(LinkList)malloc(sizeof(LNode);

2、L-next=NULL;return L;void LinkListClear(LinkList L)/*清空单链表*/L-next=NULL;int LinkListEmpty(LinkList L)/*检查单链表是否为空*/if(L-next=NULL)return TRUE;else return FALSE;void LinkListTraverse(LinkList L)/*遍历单链表*/LinkList p;/遍历是将顺序表中的元素都调用一次。p=L-next;while(p!=NULL)printf(%d,p-data);p=p-next;printf(n);名师资料总结-精品资

3、料欢迎下载-名师精心整理-第 1 页,共 5 页 -int LinkListLength(LinkList L)/*求链表长度*/LinkList p;int j;p=L-next;j=0;while(p!=NULL)j+;p=p-next;return j;LinkList LinkListGet(LinkList L,int i)/*插入数据在结尾插入*/LinkList p;int j;p=L-next;j=1;while(p!=NULL&jnext;j+;if(j=i)return p;else return NULL;LinkList LinkListLocate(LinkList

4、L,ElemType x)/*查找数据*/LinkList p;/p是指针p=L-next;while(p!=NULL&p-data!=x)p=p-next;return p;void LinkListInsert(LinkList L,int i,ElemType x)/在链表中第i 个位置插入元素 LinkList pre,p,s;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -int j;pre=L;j=1;p=L-next;while(pre&jnext;j+;if(pre=NULL)printf(给的 i 值超过了表长);exit(0);s=(LNode*)m

5、alloc(sizeof(LNode);s-data=x;pre-next=s;s-next=p;void LinkListDel(LinkList L,ElemType x)/*删除节点*/LinkList pre,p;int j;pre=L;j=1;p=L-next;while(p&p-data!=x)pre=p;p=p-next;j+;if(p=NULL)printf(表中没有值为x 的结点);exit(0);pre-next=p-next;free(p);LinkList LinkListCreat()/*初始化单链表*/名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5

6、 页 -LinkList L=LinkListInit(),p,r;ElemType x;r=L;printf(请输入数据以-1 为结束:n);scanf(%d,&x);while(x!=flag)p=(LinkList)malloc(sizeof(LNode);p-data=x;r-next=p;r=p;scanf(%d,&x);r-next=NULL;return L;int main()int quit=0;int i;ElemType e;LinkList L;while(!quit)int d;printf(请选择您的操作:n);printf(1.建立链表 n2.清空链表 n3.求链

7、表长 n4.检查链表是否为空n);printf(5.遍历链表 n6.查找元素 n);printf(7.查找元素在表中的位置n);printf(8.插入元素 n9.删除元素 n10.初始化单链表 n);printf(其他键退出。n);scanf(%d,&d);switch(d)case 1:L=LinkListInit();break;case 2:LinkListClear(L);break;case 3:printf(链表长度为:%dn,LinkListLength(L);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -break;case 4:if(LinkList

8、Empty(L)printf(此链表是空表 n);else printf(此链表不是空表n);break;case 5:LinkListTraverse(L);break;case 6:printf(请输入查找的位置:n);scanf(%d,&i);printf(位置是:%dn,LinkListGet(L,i);break;case 7:printf(请输入数值:n);scanf(%d,&e);printf(位置是:%dn,LinkListLocate(L,e);break;case 8:printf(请输入插入的位置和值:n);scanf(%d%d,&i,&e);LinkListInsert(L,i,e);break;case 9:printf(请输入删除的数值:n);scanf(%d,&e);LinkListDel(L,e);break;case 10:L=LinkListCreat();break;default:quit=1;return 0;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com