欢迎来到天天文库
浏览记录
ID:44387035
大小:163.52 KB
页数:10页
时间:2019-10-21
《单链表地基本操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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
此文档下载收益归作者所有