计算机软件技术基础实验报告封面模板.doc

计算机软件技术基础实验报告封面模板.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软件技术基础实验报告封面模板

中国矿业大学矿业工程学院 实验报告 课程名称 计算机软件技术基础查找与 掌握对分查找对半排序 了解对半查找与对半 了解计算机的各种排序重点掌握对半排序 Y N N Y 对半查找法的核心算法描述如下: 从组由小到大排序的数据中寻找某一特定的数据,首先将这一特定的数据与这组数据中第/2个数据相比较。若数据不等于要寻找的数据,则要寻找数据的大小,第数据大于要寻找的数据,则寻找的数据范围在第与第1个数据之间,否则要寻找的数据范围在第第数据之间,这样就可以将寻找数据的范围缩小一半,然后循环将要寻找的数据与新的数据范围的中间的数据比较,则又可以将寻找范围缩小一半,……此所以最多的循环次数为2^N. 1.打开C++编程软件,自选所需控件和设计最终界面。界面如下: 2.输入下列算法 #includeiostream.h int binary(int array[],int n,int number) {int low=0,high=n-1,mid; while(low=high) { mid=(low+high)/2; if(numberarray[mid]) high=mid-1; else if(numberarray[mid]) low=mid+1; else return mid; } return -1; } void main() {int a[]={2,4,6,8,10,12,14,16,18,20,22,24}; int num; cout请输入要寻找的数:; cinnum; int index=binary(a,sizeof(a)/sizeof(a[0]),num); if(index!=-1) cout该数在数组中的序号为:indexendl; else cout数组中没有该元素\n; 3.调试运行 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。二分查找算法初始状态:假设表长为n,low、high和mid分别指向待查元素所在区间的下界、上界和中点,key为给定值,初始时,令low=0,high=n-1,mid=(low+high)/2让key与mid指向的记录比较。若key==r[mid].key,查找成功,算法结束,若keyr[mid].key,则high=mid-1,若keyr[mid].key,则low=mid+1。重复上述操作,直至lowhigh时,查找失败。二分插入排序的基本操作是在一个有序表中进行查找和插入,这个“查找”操作可利用“折半查找来实现,由此进行的插入排序称之为折半插入排序。 1.打开C++编程软件,自选所需控件和设计最终界面。界面如下: 2.输入下列算法 #include cstdlib #include iostream using namespace std; void bsort(char *arr,int count) { int i,j,low,mid,high; char t; { t=arr[i]; low=0; high=i-1; while(low=high) // low 为插入的正确位置 { mid=(low+high)/2; if(tarr[mid]) high=mid-1; else low=mid+1; } for(j=i-1;j=low;j--) arr[j+1]=arr[j]; arr[low]=t; } } int main(int argc, char *argv[]) { char a[]={k,k,x,a,w,f}; int x=6; bsort(a,x); for(int i=0;i6;i++) putchar(a[i]); system(PAUSE); return EXIT_SUCCESS; } 在C++中输入上面的代码,进行编程。 3.调试运行 结果分析:

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档