数据结构实验讲义

数据结构实验讲义

ID:39320446

大小:346.00 KB

页数:48页

时间:2019-06-30

数据结构实验讲义_第1页
数据结构实验讲义_第2页
数据结构实验讲义_第3页
数据结构实验讲义_第4页
数据结构实验讲义_第5页
资源描述:

《数据结构实验讲义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构实验讲义实验一C语言复习教学目的与要求本实验的目的是帮助大家复习C语言的使用方法,特别是指针、结构体的内容,同时也为以后的各个实验做准备教学的重点与难点指针、结构体、数组三种数据类型的混合使用实验预习检查内容指针指向数组后,数组元素的访问有哪些形式?在下列类型定义后,表达式a[3].num的逻辑含义是什么?类型是什么?structstudent{longnum;floatscore;structstudent*next;}a[5];答:3号元素的num数据域long类型例题#defineNULL0structstude

2、nt{longnum;floatscore;structstudent*next;};main(){structstudenta,b,c,*head,*p;a.num=99101;a.score=89.5;b.num=99103;b.score=90;c.num=99107;c.score=85;//a、b、c变量赋值head=&a;a.next=&b;//a的后续为bb.next=&c;c.next=NULL;p=head;do{printf(“%ld%5.1f”,p->num,p->score);/*输出学号和成绩*/

3、p=p->next;}while();}答:p!=NULL9、设计一个可进行复数运算的演示程序。要求:实现下列六种基本运算:1)由输入的实部和虚部生成一个复数;2)两个复数求和;3)两个复数求差;4)两个复数求积;5)从已知复数中分离出实部;6)从已知复数中分离出虚部。运算结果以相应的复数或实数的表示形式显示。10、设计一个可进行有理数运算的演示程序。要求:实现两个有理数相加、相减、相乘以及求分子或求分母的运算。实验内容及要求有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总

4、平均成绩,以及最高分的学生的数据。要求:用input函数输入10个学生数据,用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。实验内容及要求讨论指出下列程序段的错误:structstudent{longnum;floatscore;structstudent*next;}a,b,c,*p;a.next=&b;b.next=&c;p=a;while(p){printf(“%ld%5.2f”,p->num,p->score);P++;}答:增加:c.next=NULL;p

5、=a;=>P=&a;P++;=>P=p->next;第二讲线性表教学目的与要求掌握数据结构中表的基本概念。熟练掌握线性表的基本操作,插入、删除、查找等运算在顺序存储结构和链接存储结构上的实现。熟练掌握链表的各种操作和应用。教学的重点与难点线性表的基本操作在链接存储结构上的实现。实验预习检查内容完成下列程序,指出main的结构#include#defineMaxLen50typedefintelemtype;structdatatype{elemtype*elem;intlength;}typedefstruc

6、tdatatypesqlist;voidcreate(sqlist*a){inti,n;a->elem=(elemtype*)malloc(MaxLen*sizeof(elemtype));printf(“创建一个顺序表”);printf(“输入元素个数:”);scanf(“%d",&a->length);for(i=0;ilength;i++){printf(“输入第%d个元素值:”,i);scanf(“%d",a->elem+i);}}voidinvert(sqlist*a){intm=a->length/2,

7、I;elemtypetemp;for(I=0;Ielem+i)=;=temp;}}(1)*(a->elem+i)(2)*(a->elem+a->length-1-i)(3))*(a->elem+a->length-1-i)Voiddisp(sqlist*a){intI;for(i=0;ielem+i));}voidmain(){sqlistb,*a;a=&b;;create(a);disp(a);invert(a);dis

8、p(a);}例题有一个单链表的第一个结点指针为head,编写一个函数将该单链表逆置,即最后一个结点变成第一个结点,原来倒数第二个结点变成第二个结点。实验内容及要求4、7、13必做,其余老师选做几题4、键盘输入学生信息(包括学号和成绩),学号为0作为结束标志,建立其对应的线性表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。