折半查找

来源:互联网 发布:js代码格式化 编辑:程序博客网 时间:2024/04/29 07:03

#include <stdio.h>
#define n 100
typedef int keytype;
typedef struct{
keytype key;
}nodetype;
typedef nodetype seqlist[n+1];
seqlist r;

main(){
int m,i,j;
keytype k;
for(i=1;i<=n;i++) r[i].key=i;//ɵ1~n

for(i=1;i<=n;i++) //ҵ
printf("%d--%d ",i,r[i].key);
printf("/n");

printf("input k:/n");//Ҫҵֵk
scanf("%d",&k);

printf("search position is:%d/n",binsearch(r,k));//۰Ҳk
}//end of main 

int binsearch(seqlist r,keytype k)
{//۰
int low=1,high=n,mid;
while (low<=high){
mid=(low+high)/2;
if (r[mid].key==k) return mid;
if (r[mid].key>k)
high=mid-1;
else 
low=mid+1;
}
return 0;
}

原创粉丝点击