单链表地基本操作

单链表地基本操作

ID:44387035

大小:163.52 KB

页数:10页

时间:2019-10-21

单链表地基本操作_第1页
单链表地基本操作_第2页
单链表地基本操作_第3页
单链表地基本操作_第4页
单链表地基本操作_第5页
资源描述:

《单链表地基本操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准上机实验报告学院:计算机与信息技术学院专业:计算机科学与技术(师范)课程名称:数据结构实验题目:单链表建立及操作班级序号:师范1班学号:201421012731学生姓名:邓雪指导教师:杨红颖完成时间:2015年12月25号文案大全实用标准实验目的:(1)动态地建立单链表;(2)掌握线性表的基本操作:求长度、插入、删除、查找在链式存储结构上的实现;(3)熟悉单链表的应用,明确单链表和顺序表的不同。一、实验环境:Windows8.1MicrosoftVisualc++6.0二、实验内容及要求:建立单链表,实现如下功能:1、建立单链表并输出(

2、头插法建立单链表);2、求表长;3、按位置查找4、按值查找结点;5、后插结点;6、前插结点7、删除结点;四、概要设计:1、通过循环,由键盘输入一串数据。创建并初始化一个单链表。2、编写实现相关功能函数,完成子函数模块。3、调用子函数,实现菜单调用功能,完成顺序表的相关操作。main建表求表长查找插入删除输出退出文案大全实用标准五、代码:#include#includetypedefchardatatype;typedefstructnode{datatypedata;structnode*next;}lin

3、klist;linklist*head,*p;//头插法建立单链表linklist*Creatlistf(){charch;linklist*head,*s;head=NULL;ch=getchar();printf("请输入顺序表元素(数据以$结束):");while(ch!='$'){s=(linklist*)malloc(sizeof(linklist));s->data=ch;s->next=head;head=s;ch=getchar();}returnhead;}//求单链表的长度voidget_length(structnod

4、e*head){structnode*p=head->next;intlength=0;文案大全实用标准while(p){length++;p=p->next;}head->data=length;printf("该单链表的长度为:%d",head->data);}//按序号查找结点linklist*Get(linklist*head,inti){intj;linklist*p;p=head;j=0;while((p->next!=NULL)&&(jnext;j++;}if(i==j)returnp;}//按值查找结点l

5、inklist*Locate(linklist*head,datatypekey){intpos=0;p=head->next;printf("查找结点位置为:");while(p!=NULL){if(p->data!=key){p=p->next;文案大全实用标准pos++;}else{pos++;break;}}returnp;}//后插结点voidInsertafter(linklist*p,datatypex){linklist*s;s=(linklist*)malloc(sizeof(linklist));s->data=x;s->n

6、ext=p->next;p->next=s;printf("插入成功");}//前插结点voidInsertbefore(linklist*p,datatypex){linklist*s;s=(linklist*)malloc(sizeof(linklist));s->next=p->next;s->data=p->data;p->data=x;p->next=s;}文案大全实用标准//删除结点linklist*Deleteafter(linklist*head){inti;linklist*r,*p;printf("请输入要删除的结点位置:"

7、);scanf("%d",&i);if(i==1){r=head;head=head->next;}else{p=Get(head,i-1-1);r=p->next;p->next=r->next;}free(r);returnhead;}//输出单链表voidoutput(linklist*p){while(p->next!=NULL){printf("%c",p->data);p=p->next;}printf("");}voidmain(){linklist*head;intk,i,pos;文案大全实用标准charx;datatype

8、key;printf("_____________单链表的操作_____________");printf("t1.头插法建立单链表");p

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

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

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