2实验二(no3-4)数据结构与算法实验报告-线性表_第1页
2实验二(no3-4)数据结构与算法实验报告-线性表_第2页
2实验二(no3-4)数据结构与算法实验报告-线性表_第3页
2实验二(no3-4)数据结构与算法实验报告-线性表_第4页
2实验二(no3-4)数据结构与算法实验报告-线性表_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、sc阳工程学院学生实验报告(课程名称:数据结构与算法)实验题目:线性表(单链表)班级物联网141学号2014418111姓名 丁思琪地点 指导教师实验日期:2015 年3月26日一、实验目的1掌握线性表的链式存储结构单链表的定义及其c语言的实现。2.掌握线性表的基本操作二、实验环境turbo c 或是 visual c+三、实验内容与要求实验2单链表的操作请编制c程序,利用链式存储方式來实现线性表的创建、插入、删除和 查找等操作。具体地说,就是要根据键盘输入的数据建立一个单链表;然后 根据屏幕菜单的选择,可以进行数据的插入或删除,并在插入或删除数据后, 再输出单链表;最后在屏幕菜单中选择0,即

2、可结束程序的运行。算法描述:本实验要求分别写出在单链表中第i (从1开始计数)个位置 z后插入元素、创建单链表、在单链表中删除第i个位置的元素、顺序输出单 链表的内容等的算法描述。四、实验过程及结果分析实验过程:用键盘输入数据并建立一个单链表,利用链式存储方式來实 现线性表的创建、插入、删除和查找等操作。并在单链表中第i (从1开始计 数)个位置之后插入元素、创建单链表、在单链表中删除第i个位置的元素、 顺序输出单链表的内容等的算法描述。结果分析:在单链表中,任何两个元素的储存位置z间没有固定的联系, 每个元素的存储位置都包含在其直接前驱结点的信息z中。在单链表中插入或 删除一个结点时,仅需修

3、改指针而不需要移动元素。程序代码如下:/ di ngsi qi cpp: defi nes the entry poi nt for the consol e appl i cati on./ i i nk2. cpp : defi nes the entry poi nt for the consol e appl i cati on./ncl ude "stdafx. hnncl ude "st di o. hnncl ude "stdli b. hn#define ck 1#define errcr 0typedef i nt el erttype;type

4、def i nt st at us;typedef struct lhbdeel entype data;struct lhbde *next;lhbde, *li nkli st;voi d created st_l( li nkli st 8lr i nt n)li nkli st p;int i;l=( li nkli st) nal i oc (si zeof (lhbde);l- >next=nxl;pri ntf(h请输入i个数据nhr n);for (i =n; i >0; -i)p=( li nkli st) nal i oc (si zeof (lhbde); s

5、canf(n%ln,8p->data);p- >next =l >next; l- >next =p; /created st lint i;li nkli st p, q;*l=( li nkli st)nal i oc(si zeof(struct lhbde);(*l)->next=nljll;q=*l;pri ntf(”请输入个数据n”,n);for( i =1; i <=n; i +)p=( li nkli st) nal i oc(si zeof(struct lhbde); scanf(,%i,8p->data);q- >next

6、=p;q=q->next;p- >next =njll;st at us get el eml( li nkli st l, i nt i, el entype 8e) li nkli st p;int j;p=l->next; j =1;ahi i e(p! =njll 8&j<i)p=p- >next;+j;if (!p| |j>i) return errcr ;e=p- >dat a;return ck;st at us li st del ete_l( li nkli st 8l, i nt i, el entype 8e) li nk

7、li st p, q;int j;p=l; j=0;vhi i e (p- >next 8& j <i -1)p=p- >next; +j;if (!(p->next) 11 j>i-1) return errcr;q=p- >next; p- >next =q- >next;e=q- >dat a; free(q);retur n ck;/li st del ete_lst at us li stinsert_l( li nkli st 8l, i nt i, el entype e) li nkli st p, s;int j;

8、p=l; j=0;vhi i e (p j v 1)p=p- >next; +j;if (!p|j>i-1) return errcr;s=( li nkli st) nal i oc (si zeof (lhbde);s- >dat a=e; s- >next =p- >next;p»>next =s;return ck;/li stinsert lli nkli st p;i nt i en;p=l->next;i en=o;vhi i e( p) i en+;p=p- >next;return i en;voi d li sttr

9、averse( li nkli st lr voi d (*vi si t)( el entype c)li nkli st p;p=l- >next;vtii i e( p) vi si t(p->data);p=p- >next; printfrf);voi d vi si t( el entype c)st at us 0 ear li st( li nkli st &)p=l- >next;vtii i e( p) p- >dat a=njll; p=p- >next;return ck;st at us destoryli st( li n

10、kli st 8l)li nkli st p, q;p=l; q=l;i e( p- >next) q=p;p=q- >next;free(q);free(p);return ck;st at us li stenpty( li nkli st 8l)li nkli st p;p=l;if(p->next) return 1;el seretur n 0;i nt rai n( i nt argc, char* argv)li nkli st la, lb, lc;i nt n, rppri ntf输入链表a要输入元素的个数:n); scanf(,%l,8n);printf(

11、h按非递增顺序,h);created st_l( lar n);/11 =la->next;printf(h =、nh);li sttraverse( la, vi si t);printf(h = n”);pri ntf("链表长度(元素个数)nn, li stlengt h( la);pri ntf输入查找的元素的位置n”);int i;scanf(“f, &);el entype e1;i nt t1=0;i f( get el eml( la, i r e1)pri ntf("找到元素的值=%kn", e1);el seprintf(h 查找

12、失败!nn);printf(h =、nh);printf(u在 链表中插入元素(位置,数值):“);scanf(lm9tf, 8i,8e1);li stinsert_l( la, i, e1);li sttraverse( la, vi si t);printf(n =、nh);printf(u在 链表中删除元素(位置):n); scanf(,%i,/ &);li st del ete_l( la, i r e1);li sttraverse( la, vi si t);printf(n按非递减顺序,n);return 0;c*d:progra> filesiicrosoft visual studiolyprojectsdingsiqidebu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论