折半查找.txt
来自「数据结构学习用到的一些程序!!里面有二叉树相关的几个」· 文本 代码 · 共 38 行
TXT
38 行
#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 + =
减小字号Ctrl + -
显示快捷键?