ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:129.14KB ,
资源ID:11195021      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11195021.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二 线性表链式存储运算的算法实现昆工版.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二 线性表链式存储运算的算法实现昆工版.docx

1、实验二 线性表链式存储运算的算法实现昆工版昆明理工大学信息工程与自动化学院学生实验报告( 2013 2014 学年第三学期 )课程名称:数据结构 开课实验室:信自楼444 2013年11月12日年级、专业、班计科122班学号201210405204姓名邹华宇成绩实验项目名称线性表链式存储运算的算法实现指导教师胡守成教师评语 教师签名: 年 月 日注:报告内容按实验须知中七点要求进行。一、实验目的和要求1.掌握线性表链式存储结构的C语言描述及运算算法的实现;2.分析算法的空间复杂度和插入和删除的时间复杂度;3.总结比较线性表顺序存储存储与链式存储的各自特点。程序功能:1.(菜单)主程序;2.链表

2、的建立;3.链表的数据插入;4.链表的数据删除;5.链表的数据输出;二、实验原理及基本技术路线图(方框原理图)三、所用仪器、材料(设备名称、型号、规格等)联想计算机一台Microsoft Visual c+ 6.0四、程序源代码#include#include#include#includetypedef int dataType;typedef struct node dataType data; struct node *next; linkList;linkList *createList() int num; linkList *head,*s,*r; head=NULL; r=NUL

3、L; printf(Enter the number(0 to stop):); scanf(%d,&num); while(num!=00) s=(linkList*)malloc(sizeof(linkList); s-data=num; if(head=NULL) head=s; else r-next=s; r=s; printf(Enter the number(0 to stop):); scanf(%d,&num); if(r!=NULL) r-next=NULL; return head; linkList *get(linkList *head,int i) int j; l

4、inkList *p; p=head; j=0; while(p-next!=NULL)&(jnext; j+; if(i=j) return p; else return NULL; linkList *locate(linkList *head,dataType key) linkList *p; p=head-next; while(p!=NULL) if(p-data!=key) p=p-next; else break; return p; void insertAfter(linkList *p,dataType x) linkList *s; s=(linkList*)mallo

5、c(sizeof(linkList); s-data=x; s-next=p-next; p-next=s; void insertBefore(linkList *p,dataType x) linkList *s; s=(linkList*)malloc(sizeof(linkList); s-data=p-data; s-next=p-next; p-next=s; p-data=x; void insert(linkList *L,dataType x,int i) linkList *p; int j; j=i-1; p=get(L,j); if(p=NULL) printf(err

6、on); getch(); else insertAfter(p,x);printf(nInsert Succeed);getch(); void deleteAfter(linkList *p) linkList *r; r=p-next; p-next=r-next; free(r); void Delete(linkList *L,int i) int j; linkList *p; j=i-1; p=get(L,j); if(p!=NULL&p-next!=NULL) deleteAfter(p);printf(nDelete Succeed);getch(); else printf

7、(errorn); getch(); void display(linkList *head) int i=1; if(head=NULL) printf(Empty Listn); while(head!=NULL) printf(Index%d:%dn,i,head-data); head=head-next; i+; char caiDan() char ch; do printf(1:Create New Listn); printf(2:Insertn); printf(3:Deleten); printf(4:Displayn); printf(5:Exitn); printf(P

8、lease Choose:); while(ch=getch(),ch!=1&ch!=2&ch!=3&ch!=4&ch!=5);return ch; void main()linkList *head=NULL;char ch;int i,key;do system(cls); ch=caiDan(); printf(%c,ch); getch(); printf(n); switch(ch) case 1: head=createList(); printf(List was created successfully);getch();break; case 2: display(head)

9、; if(head=NULL) getch(); break; else printf(nInput Key:);scanf(%d,&key); printf(Input Index u want to insert after:);scanf(%d,&i); insert(head,key,i);break; case 3: display(head); if(head=NULL) getch(); break; else printf(nInput index you want to delete:);scanf(%d,&i); Delete(head,i-1);break; case 4: display(head);getch();break; case 5: exit(0); while(ch!=5);五、运行结果(1)创建单链表(2)插入单链表(3)插入单链表以后的结果(4)删除单链表(5)删除单链表以后的结果(6)插入错误(7)删除错误六、实验总结在做这个程序的时候,虽然遇到一些问题,但最后都被我解决, 自信心上得到比较大的提升,这也是这次实践最大的收获。同时,知识上的收获也是不可忽视的,亲手解决问题的过程也是很好的学习过程,并且积累了一些经验,相信会为以后的学习发展带来非常积极的帮助。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1