折半查找。。。

来源:互联网 发布:数据库论文 编辑:程序博客网 时间:2024/06/14 00:38

查到了显示位置,没查到显示没有找到。

#include<stdio.h>#include<stdlib.h>#define M 6int Search_Bin(int a[M],int key){    int low = 1;    int high=M;    int mid;    while(low<=high){        mid = (low+high)/2;        if(a[mid-1]==key){            return mid;        }        else if(a[mid-1]>key){            high = mid - 1;        }        else{            low = mid+1;        }    }    return -1;}int main(){    int key;    int a[M],i = 0;    printf("请输入有序数组以空格隔开以回车结束: \n");    do{        scanf("%d",&a[i++]);        }while(getchar()!='\n');    printf("请输入要查找的数: \n");    scanf("%d",&key);    int sb = Search_Bin(a,key);    if(sb==-1){        printf("没有找到!\n");    }else{        printf("%d\n",sb);    }    return 0;}
0 0
原创粉丝点击