




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
洛阳理工学院实验报告系部计算机系班级B110505学号B11050516姓名李满意课程名称数据结构实验日期2013.03.27实验名称链表的基本操作成绩实验目的:掌握线性表的基本操作:插入、删除、查找在链式存储结构上的实现。实验条件:电脑一台,VC+6.0软件。实验内容与算法思想:内容:建立以有序的单链表,并实现下列操作:1. 输出表中所有元素的值; 2.查找值为x的元素;3.插入值为x的元素,保持有序;4.删除第i个元素。算法思想: 在此多功能的程序中先采用尾插法建立单链表,其次在主函数中采用switch函数,对各项功能操作选择。其中在插入并保持有序函数中先把值x插入表尾,然后对链表采用冒泡法进行由小到大的顺序排序。另外在主函数中可以使用while函数实现死循环,可以无限次操作各项功能选项。运行结果:实验总结: 经过本次实验对单链表有更深刻的了解,掌握的更为熟练,另外对上学期的知识也有很好的复习功效。通过实验,作为本学期的基础,相信自己的单链表会学的很好的, 所以数据结构这门课程也会学习的很好的,经过实验,证明数据结构还是没有想象的那么难,好好学习,更好的掌握这门课程啊。附:源程序:#include #include typedef int ElemType;typedef struct NodeElemType data; struct Node *next;Node ,*LinkList;InitList(LinkList *L)*L=(LinkList)malloc(sizeof(Node); (*L)-next=NULL;int CreateFromTail(LinkList L) Node *r,*s; int flag=1;int c; r=L; while(flag) scanf(%d,&c); if(c!=-1) s=(Node*)malloc(sizeof(Node); s-data=c; r-next=s; r=s; else flag=0; r-next=NULL; int output(LinkList L)Node *p; p=L-next; while(p!=NULL) printf(%4d,p-data); p=p-next; printf(n); void Locate(LinkList L,ElemType key) Node *p; int i=1; p=L-next; while(p!=NULL) if(p-data!=key) p=p-next; i+; else break; if(p=NULL) printf(输入查找值不合理n); else printf(查找值位于链表第%d个位置n,i); void insertandsort(LinkList L,ElemType e)Node *p,*s,*m,*n; int i; p=L; while(p-next!=NULL) p=p-next; s=(Node *)malloc(sizeof(Node); s-data=e;p-next=s; s-next=NULL; for(m=L-next;m!=NULL;m=m-next) for(n=m-next;n!=NULL;n=n-next) if(m-datan-data) i=n-data; n-data=m-data; m-data=i; printf(插入、排序完成.n);void DelList(LinkList L,int i)Node *pre,*r;int k;pre=L;k=0;while(pre-next!=NULL&knext; k=k+1;if(!(pre-next)printf(删除节点的位置i不合理!);r=pre-next;pre-next=r-next;free(r);void main ()int flag=1; ElemType x,z; int choice,i; LinkList L; printf(请输入单链表中数据元素,并以“-1”为结束标记:n); InitList(&L); CreateFromTail(L); printf(可以执行的操作选项序号.n); printf(1.输出表中所有元素的值.n); printf(2.查找值为x的元素.n); printf(3.插入值为x的元素并保持有序.n); printf(4.删除第i个元素.n); printf(5.退出.n); while(flag) printf(请输入需要进行的的操作选项序号:); scanf(%d,&choice); switch(choice) case 1: output(L);break; case 2: printf(请输入要查找的值:); scanf(%d,&x); Locate(L,x);break; case 3: printf(请输入要插入的值:); scanf(%d,&z);insertandsort(L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共停车场建设社会稳定风险评估报告2025年风险预测
- 仓库租赁合同模板
- 2025年污水处理站面试题及答案
- 2025年《餐饮服务行业食品安全管理人员》安全知识考试题库与答案
- 2025年初中实词试题及答案
- 阿米巴培训考试及答案
- wps考试试卷及答案
- N-Acetylsulfanilamide-d4-4-Acetamidobenzenesulfonamide-d-sub-4-sub-生命科学试剂-MCE
- 禁毒知识师资培训通知课件
- DB61T 584-2013 陕北白绒山羊舍饲饲养管理技术规范
- 慢性化脓性中耳炎护理查房
- 园林局城市绿化养护手册
- 法社会学教程(第三版)教学
- 人工智能对会计信息披露的挑战与机遇
- 【人教版】二年级上册《道德与法治》全册教案
- 《应用文写作》中职全套教学课件
- 小学英语开学第一课-课件
- 《塑料门窗工程技术规程》JGJ103-2008
- 高三5月大联考作文“新技术”“新产业”“新质生产力”导写
- 手持电动工具安全培训
- (正式版)JBT 9229-2024 剪叉式升降工作平台
评论
0/150
提交评论