版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告(五)
专业名称课程名称
批改教师主持教师
实验成绩校外评阅教师
实验名称查找______________
使用重要设备________PC,VC++6.0_______________________
实验规定___________________________________________________
1.掌握折半查找的算法环节和实现方法;
2.掌握二叉排序树的性质、构造方法;
3.按实验内容完毕相关程序,并用实例进行测试,验证其对的性。
实验报告内容:
实验5.1折半查找
•设计程序代码如下:
#inc1ude<stdio.h>
#inc1ude<string.h>
#defineN5
structstudent{
®charname[10];
floatavg;
)
voidinsort(structstudents口,intn)
(
intlow,hight,mid,k;
chary[10];
ofIoatx;
Iow=1;
ohight=n;
strcpy(y,s[0].name);
x=s[0].avg;
whiIe(low<=hight)
(
“mid=(low+hight)/2;
oojf(x>s[mid].avg)
。由ight=mid-1;
。else
1ow=mid+1;
°)
4or(k=0;k<low-1;k++){
。strcpy(s[k].name,s[k+1].name);
«s[k].avg=s[k+1].avg;
°)
oprintf("%dH,low);
。strcpy(s[low-1].name,y);
。s[low-1].avg=x;
)
voidmain()
(
Structstudenta[N]=
{{Hcaozh",96},{"cheng'\95},{nzhaon,93},fwangu,92},{nchenH,91}};
ostructstudentstu[N];
Anti;
4or(i=0;i<N;i++)
estu[i+1]=a[i];
printf("初始%d位同学的信息表\n”,MAX);
Printf(u排名姓名平均分数\n");
for(i=1;i<=N;i++)
printf(M%d:%6s%3.2f\nn,i,stu[i].name,stuLi].avg);
oprintf(H\n");
»printf("\n");
叩rintf("请输入学生的姓名:");
•scanf("%s",stu[O].name);
»printf("\n");
•printf(”请输入平均成绩:");
•scanf("%f",&stu[O].avg);
»printf("\n");
Msort(stu,N);
Printf折半排序后同学的信息表\n",MAX);
printf("排名姓名平均分数'n");
for(i=0;i<=N;i++)
(
•Printf("%d:%6s%3.2f\n",i+1,stu[i].name,stu[i].avg);
°}
printf("\n");
)
•程序运营结果如下:
实验5.2二叉排序树的建立
•设计程序代码如下:
#include<stdio.h>
#include<stdlib.h>
#defineMAX5
typedefstructBnode
(
ointkey;
ostructBnode*left;
◎structBnode*right;
}Bnode;
Bnode*btlnsert(intx,Bnode*root);
voidlnorder(Bnode*root);
voidmain()
(
»inti;
=inta[MAX]={60,40,70,20,80);
Bnode*root=NULL;
♦phntf("按关键字序列建立二叉排序树\n");
for(i=0;i<MAX;i++)printf("%d",a[i]);
printf("\n");
for(i=0;i<MAX;i++)root=btlnsert(a[i],root);
•printf("中序遍历的二叉排序树\n");
Inorder(root);
printf("\n");
)
Bnode*btlnsert(intx,Bnode*root)
(
Bnode*p,*q;
。intf1ag=0;
p=(Bnode*)malloc(sizeof(Bnode));
p>key=x;
p->right=p->left=NULL;
if(root==NULL)
{root=p;«returnp:,
q=root;
while(flag==O)
(
if(q->key>x)
6{
oMf(q->left!=NULL)
o6«>oq=q->left;
。®else
(
。sq->left=p;
“f1ag=1;
6)
oo}
else
oooif(q->right!=NULL)
。6q=q->right;
oooelse
00{
^q->right=p;
of1ag=1;
0)
。}
•)
^returnroot;
)
voidInorder(Bnode*root)
(
if(root
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外资企业工资管理与合规制度
- 2024至2030年中国轮胎防漆薄膜罩数据监测研究报告
- 2024至2030年中国直角全铜接头行业投资前景及策略咨询研究报告
- 建筑公司年度工作总结
- 2024至2030年电弧炉水冷炉盖项目投资价值分析报告
- 2024至2030年浆丝机轴项目投资价值分析报告
- 2024至2030年普通门电机项目投资价值分析报告
- 2024至2030年光通机箱项目投资价值分析报告
- 道路交通事故和交通违法扣留车辆停车场管理制度
- 护士轮转制度
- 大学美育教程(高职)全套教学课件
- 高端保洁家政技能培训方案
- 丙型肝炎的防治课件
- 2023年西南交通大学辅导员招聘考试真题
- LY-T 3332-2022 森林保险查勘定损技术规程
- 广告制作安装质量保证措施
- 聚合物复合材料工艺课件
- 高校辅导员岗前培训课件
- Java程序设计项目式教程 教案 单元10 Java图形用户界面设计
- 指纹识别技术
- 医院的门禁管理制度范文
评论
0/150
提交评论