[理科实验报告精品]线性表基本操作实验报告.doc_第1页
[理科实验报告精品]线性表基本操作实验报告.doc_第2页
[理科实验报告精品]线性表基本操作实验报告.doc_第3页
[理科实验报告精品]线性表基本操作实验报告.doc_第4页
[理科实验报告精品]线性表基本操作实验报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

院 系: 计算机科学学院 专 业: 计算机科学与技术 年 级: 课程名称: 数据结构 学 号: 姓 名: 指导教师: 2011年 03 月 26 日年级班号学号专业计算机科学与技术姓名实验名称线性表基本操作实验类型设计型综合型创新型yes实验目的或要求目的:实现线性表基本操作要求:1、实现线性表的插入,删除,求表长,查找e元素的前驱、后继,查找第i个位置的元素等基本操作。2、程序以菜单方式工作,其中一个选项控制退出程序,其他选项可循环进行选择。实验记录实验源代码:#include #include #include typedef structint num;char name20;int age;student;typedef structstudent *elem;int len;int maxsize;sqlist; void initlist_sq(sqlist &l)l.elem=(student*)malloc(100*sizeof(student);l.len=0;l.maxsize=100;(写不完时,可另加附页。)实验记录 int listinsert_sq(sqlist &l)char con=y;int i=0;while(con=y)|(con=y)if(l.len100)printf(number:);scanf(%d,&l.elemi.num);printf(name:);scanf(%s,l.);printf(age:);scanf(%d,&l.elemi.age);i+;l.len+; printf(do you want to contiune?(y/n);getchar();scanf(%s,&con); while(con!=y)&(con!=y)&(con!=n)&(con!=n)printf(you can not choice butyandn,please choice again!);getchar();scanf(%s,&con);elsecon=n;return 1;(写不完时,可另加附页。)实验记录 int output_sq(sqlist &l)int j;for(j=0;ji-2;j-) l.elemj+1=l.elemj; printf(number:);scanf(%d,&l.elemi-1.num);printf(name:);scanf(%s,l.);printf(age:);scanf(%d,&l.elemi-1.age);l.len+; void listdelete(sqlist &l)int i,j;printf(which place do you want to delete?);scanf(%d,&i);for(j=i;jl.len-1;j+);l.elemj=l.elemj+1;l.len-;(写不完时,可另加附页。)实验记录 void mergelist(sqlist &l,sqlist &r,sqlist &c)int i,j,k;i=j=0;k=0;while(i=l.len-1)&(j=r.len-1)if(l.elemi.num=r.elemj.num) c.elemk.num=l.elemi.num; strcpy(c.,l.); c.elemk.age=l.elemi.age; +k;+i;c.len+;elsec.elemk.num=r.elemj.num; strcpy(c.,r.); c.elemk.age=r.elemj.age; +k;+j;c.len+;while(i=l.len-1) c.elemk.num=l.elemi.num; strcpy(c.,l.); c.elemk.age=l.elemi.age; +k;+i;c.len+;while(j=r.len-1) c.elemk.num=r.elemj.num; strcpy(c.,r.); c.elemk.age=r.elemj.age; +k;+j;c.len+;(写不完时,可另加附页。)实验记录 int main() int choice ; sqlist l,r,c; initlist_sq(l); initlist_sq(r); initlist_sq(c); while(choice!=8) printf(*content*n);printf(* if you want to write a new list of student s information * choice 1 *n);printf(* if you want to visit zhe student information list * choice 2 *n);printf(* if you want to add more to the student information list * choice 3 *n);printf(* if you want to delete some of the student information list * choice 4 *n);printf(* if you want to visit one of the student in zhe list * choice 5 *n);printf(* if you want to add the two list to a new one * choice 6 *n);printf(* if you want to visit zhe list which include 2 list * choice 7 *n);printf(* if you want to quit this program * choice 8 *n);printf(*n);printf( n);printf(which do you want to choice? just type zhe number for choice); scanf(%d,&choice);(写不完时,可另加附页。)实验记录 switch(choice)case 1: int m; printf(which list do you want to insert?); scanf(%d,&m); if(m=1) listinsert_sq(l); else listinsert_sq(r); break;case 2: int d; printf(which list do you want to out put?); scanf(%d,&d); if(d=1) output_sq(l); else output_sq(r);break;case 3: int a; printf(which list do you want to add one student?); scanf(%d,&a); if(a=1) insert(l); else insert(r);break;case 4: int b; printf(which list do you want to delete one student?); scanf(%d,&b); if(b=1) listdelete(l); else listdelete(r); break;(写不完时,可另加附页。)实验记录 case 5: int c; printf(which list do you want to getelem?); scanf(%d,&c); if(c=1) getelem(l); else getelem(r);break; case 6: mergelist(l,r,c);printf(ok!n); break; case 7:output_sq(c);printf(ok!n);break;case 8:break;default:printf(n);printf(n);printf (please make zhe right choice!n);printf(n);printf(n);break;return 1; (写不完时,可另加附页。)实验记录 运行结果如下:显示菜单界面,用户根据自己的需求选择需要处理的选项。(写不完时,可另加附页。)实验记录 用户选择需要插入的线性表:输入元素信息:是否继续插入:(写不完时,可另加附页。)实验记录继续插入信息:(写不完时,可另加附页。)实验记录 用户往线性表1中添加元素:访问线性表1中元素并输出:(写不完时,可另加附页。)实验记录 访问线性表1中某元素:再创建一个线性表2:(写不完时,可另加附页。)实验记录将线性表1,2合并为一个新的线性表:删除线性表2中某一元素:(写不完时,可另加附页。)实验记录 访问合并的新线性表:(写不完时,可另加附页。)实验记录 退出:(写不完时,可另加附页。)组内分工(可选)实验结果分析及心得体会1. 用户根据自己的需求创建线性表,向其中添加元素(元素信息:学号,姓名,年龄);2. 用户可以访问线性表并输出其内容;3. 用户可向线性表中添加元素;4. 用户可以删除线性表中的

温馨提示

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

评论

0/150

提交评论