欢迎来到天天文库
浏览记录
ID:50976474
大小:31.50 KB
页数:2页
时间:2020-03-16
《顺序查找和折半查找.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、注:正面实验题目、实验时间、姓名、学号和专业年级均不写实验目的及要求:了解和掌握静态查找表的查找过程;掌握顺序查找算法;掌握折半查找算法要求完成静态查找表的顺序查找和折半查找算法的实现。实验设备环境及要求:PC机一台,内存要求128M以上,VC++6.0集成开发环境。实验内容与步骤:1、在VC++6.0环境中新建一个工程和C++文件;2、实现静态查找表的顺序查找和折半查找算法,代码如下:#include#includetypedefintKeyType;typedefstruct{KeyTypekey;//InfoTyped
2、ata;}ElemType;typedefstruct{ElemType*elem;intlength;}SSTable;intSearch_Sq(SSTableST,KeyTypekey){ST.elem[0].key=key;for(inti=ST.length;ST.elem[i].key!=key;--i);returni;}intBinSearch(SSTableST,KeyTypekey){intlow,high,mid;low=1;high=ST.length;while(low<=high){mid=(low+high)/2;if(ST.elem
3、[mid].key==key)returnmid;elseif(ST.elem[mid].key>key)high=mid-1;elselow=mid+1;}return0;}voidmain(){KeyTypea[]={0,13,24,35,32,65,19,7,74,20,38};SSTableT;T.elem=(ElemType*)malloc(11*sizeof(ElemType));T.length=10;for(inti=1;i<=10;i++)T.elem[i].key=a[i];printf("要找的元素的位置为%d",Search_Sq(T
4、,35));SSTableS;S.elem=(ElemType*)malloc(11*sizeof(ElemType));S.length=10;KeyTypeb[]={0,2,4,6,8,10,12,14,16,18,20};for(intk=1;k<=10;k++)S.elem[k].key=b[k];printf("要进行折半查找的元素的位置为%d",BinSearch(S,14));}实验指导与数据处理:实验结果:要找的元素的位置为3要进行折半查找的元素的位置为7分析讨论:本次实验通过对静态查找表的顺序查找和折半查找算法的实现,加深了对静态查找表查找
5、过程的理解,并且熟悉了VC++6.0集成环境,虽然在调试过程中遇到一些问题,但经分析后达到了预期的结果。
此文档下载收益归作者所有