单链表的基本操作实现代码

单链表的基本操作实现代码

ID:43844399

大小:45.51 KB

页数:5页

时间:2019-10-15

单链表的基本操作实现代码_第1页
单链表的基本操作实现代码_第2页
单链表的基本操作实现代码_第3页
单链表的基本操作实现代码_第4页
单链表的基本操作实现代码_第5页
资源描述:

《单链表的基本操作实现代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一线性表的基本操作及其应用一、实验目的1、帮助读者复习C语言程序设计中的知识。2、熟悉线性表的逻辑结构。3、熟悉线性表的基本运算在两种存储结构上的实现,其中以熟悉链表的操作为侧重点。二、实验内容本次实验提供3个题目,每个题目都标有难度系数,*越多难度越大,学生可以根据自己的情况任选一个!题目一:单链表的基本操作(*)[问题描述]实现带头结点的单链表的建立、求长度,取元素、修改元素、插入、删除等单链表的基本操作。[基本要求](1)依次从键盘读入数据,建立带头结点的单链表;(2)输出单链表中的数据元素(3)求单链表的长度;(4)根据指定条件能够取元素和修改元素

2、;(5)实现在指定位置插入和删除元素的功能。[测试数据]#include#include#include#defineERROR0;typedefstructLNode{intdata;structLNode*next;}LNode,*LinkList;LinkListInitList(LinkListL){LinkListnode=NULL;node=(LinkList)malloc(sizeof(LNode));if(!node){returnERROR;}node->next=NULL;L=nod

3、e;returnL;}intListLength(LinkListL){LinkListp=NULL;intcount=0;p=L;while(p->next){count++;p=p->next;}returncount;}LinkListCreateList_L(LinkListL,intn){inti;LinkListp=NULL;for(i=n;i>0;i--){p=(LinkList)malloc(sizeof(LNode));scanf("%d",&p->data);p->next=L->next;L->next=p;}returnL;}LinkL

4、istListInsert(LinkListL,inti,inte){intj=0;LinkLists=NULL,p=NULL;p=L;while(p&&jnext;j++;}if(!p

5、

6、j>i-1){printf("输入的位置不合法!!!");returnL;}s=(LinkList)malloc(sizeof(LNode));s->data=e;s->next=p->next;p->next=s;returnL;}LinkListListDelete(LinkListL,inti){intj;LinkListq=NULL,p=N

7、ULL;p=L;j=0;while(p->next&&jnext;j++;}if(!(p->next)

8、

9、j>i-1){printf("输入的位置不合法!!!");returnL;}q=p->next;p->next=q->next;free(q);returnL;}intGetElem(LinkListL,inti){intj,e;LinkListp=NULL;if(i<1

10、

11、i>ListLength(L)){printf("输入的位置不合法!!!");return;}p=L->next;j=1;while(j

12、next;j++;}e=p->data;printf("第%d位的数据元素为%d",i,e);}voidmenu(){printf("*************目录**************");printf("输出单链表中的各元素值1");printf("在单链表中插入数据元素2");printf("在单链表中删除数据元素3");printf("取出单链表中的数据元素4");printf("结束程序0");printf("*******************************");}voidmain(){intn,m

13、,i,e;LinkListL=NULL,p=NULL;L=InitList(L);printf("请输入元素个数:");scanf("%d",&n);printf("依次输入%d个数据元素:",n);L=CreateList_L(L,n);do{printf("");menu();printf("请输入你的选择:");scanf("%d",&m);switch(m){case1:printf("现在链表的元素为:");p=L->next;while(p!=NULL){printf("%d",p->data);p=p->next;}printf(""

14、);break;case2:print

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

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

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