数据结构查找实验报告_第1页
数据结构查找实验报告_第2页
数据结构查找实验报告_第3页
数据结构查找实验报告_第4页
全文预览已结束

下载本文档

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

文档简介

1、数据结构课程实验报告学生姓名学号班级指导老师实验名称查找实验成绩实验报告实 验实验目的:折半查找概 述实验要求:(1)建立现有学生信息表,平均成绩已有序。(2)输入插入学生的记录信息。(3)用折半查找找到插入位置,并插入记录。实验基本原理:首先,将表中间位置记录的关键字与查找关键字比较,如果两者相 等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置 记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。 重复以上步骤,直到找到满足条件的结果为止,若找不到,则返回失败。实 验实验设计思路、步骤和方法等:(1 )用结构数组存储成绩信息表。(2)对记录中的平

2、均成绩进行折半查找并插入。内 容实验过程(实验中涉及的记录、数据、分析): 程序代码如下:/*折半查找*/#i nclude <stdio.h>#defi ne N 10/*定义学生信息类型*/typedef structchar name10; /*姓名 */float avg; /*平均成绩 */Stude nt;int BinSort(Student *a,int n,Student x); void Display(Student *a,int n); /*/*按平均成绩进行折半排序*/显示学生信息表*/void mai n()1Student aN="Zhao&

3、quot;,95,"Qian",90,"Sun",86,"Li",75,x;int n=4;/*学生人数,即表长*/printf("初始%d位学生的信息表如下:n",n);Display(a, n);prin tf("nn");prin tf("请输入学生姓名:");sea nf("%s",x .n ame);prin tf("请输入平均成绩:");scan f("%f", &x.avg );n=Bin So

4、rt(a ,n, x);printf("n折半排序后%d位学生的信息表如下:n",n);Display(a, n);prin tf("n ”);/*按平均成绩进行折半查找并插入新记录,使表仍按平均成绩降序排列*/int BinSort(Student *a,int n,Student x)int low,high,mid;int i,j;/*折半查找*/low=0; high=n-1; while(low<=high)mid=(low+high)/2; if(x.avg=amid.avg)i=mid+1; /* break;else if(x.avg>

5、amid.avg) high=mid-1; /*elselow=mid+1; /* if(low>high) i=low; /*/* 在下标i前插入*/for(j=n-1; j>=i; j-)aj+1=aj;ai=x;n+; return n;/*显示学生信息表*/void Display(Student *a,int n) 查找成功,记录插入位置i*/取前半查找区间*/取后半查找区间*/查找失败,记录插入位置i*/int i;实验结果:4re s htiao iar uniiao ieri unfor(i=0; i<n; i+)prin tf("n%-10s %-6.1f',ai. name,ai.avg);位学生的信息袤妇下;95.090.08G.075-0f半排序后5位半生的信息表如下:95.090.0叽08&.075.ahey to rantinue实 验 小 结实验的心得体会:折半查找适用于顺序存储的有序表,可提高查找速度。实验

温馨提示

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

评论

0/150

提交评论