📄 折半查找.txt
字号:
#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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -