顺序查找和折半查找顺序查找和折半查找
注:正面实验题目、实验时间、姓名、学号和专业年级均不写
实验目的及要求:
了解和掌握静态查找表的查找过程;
掌握顺序查找算法;
掌握折半查找算法
要求完成静态查找表的顺序查找和折半查找算法的实现。 实验设备环境及要求:
PC机一台,内存要求128M以上,VC++6.0集成开发环境。 实验内容与步骤:
1、在VC++6.0环境中新建一个工程和C++文件;
2、实现静态查找表的顺序查找和折半查找算法,代码如下: #include
#include
typedef int KeyType;...
顺序查找和折半查找
注:正面实验题目、实验时间、姓名、学号和专业年级均不写
实验目的及
:
了解和掌握静态查找表的查找过程;
掌握顺序查找算法;
掌握折半查找算法
要求完成静态查找表的顺序查找和折半查找算法的实现。 实验设备环境及要求:
PC机一台,内存要求128M以上,VC++6.0集成开发环境。 实验
与步骤:
1、在VC++6.0环境中新建一个
和C++文件;
2、实现静态查找表的顺序查找和折半查找算法,代码如下: #include
#include
typedef int KeyType;
typedef struct{
KeyType key;
//InfoType data;
}ElemType;
typedef struct{
ElemType *elem;
int length;
}SSTable;
int Search_Sq(SSTable ST,KeyType key){
ST.elem[0].key=key;
for(int i=ST.length;ST.elem[i].key!=key;--i);
return i;
}
int BinSearch(SSTable ST,KeyType key){
int low,high,mid;
low=1;
high=ST.length;
while(low<=high){
mid=(low+high)/2;
if(ST.elem[mid].key==key) return mid;
else if(ST.elem[mid].key>key) high=mid-1;
else low=mid+1;
}
return 0;
}
void main(){
KeyType a[]={0,13,24,35,32,65,19,7,74,20,38};
SSTable T;
T.elem=(ElemType *)malloc(11*sizeof(ElemType));
T.length=10;
for(int i=1;i<=10;i++)
T.elem[i].key=a[i];
printf("要找的元素的位置为%d\n",Search_Sq(T,35));
SSTable S;
S.elem=(ElemType *)malloc(11*sizeof(ElemType));
S.length=10;
KeyType b[]={0,2,4,6,8,10,12,14,16,18,20};
for(int k=1;k<=10;k++)
S.elem[k].key=b[k];
printf("要进行折半查找的元素的位置为%d\n",BinSearch(S,14)); }
实验指导与数据处理:
实验结果:要找的元素的位置为3
要进行折半查找的元素的位置为7
分析讨论:
本次实验通过对静态查找表的顺序查找和折半查找算法的实现,加深了对静态查找表查找过程的理解,并且熟悉了VC++6.0集成环境,虽然在调试过程中遇到一些问题,但经分析后达到了预期的结果。
本文档为【顺序查找和折半查找】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。