首页 > 编程语言 > 详细

数据结构C语言实现----折半查找

时间:2020-07-28 21:32:16      阅读:70      评论:0      收藏:0      [点我收藏+]

运行结果:

技术分享图片

 

 

代码如下:

#include<stdio.h>
//数组初始化函数
void Array_get(int array[],int max)
{
    printf("请输入一个数组,大小从低到高,各个数字间以空格隔开:");
    for (size_t i = 0; i < max; i++)
    {
        scanf("%d",&array[i]);
    }
}
//折半查找
int bin_search(int array[] , int max , int key)
{
    int mid;
    int low = 0; 
    int high = max-1;
    while (low<=high)
    {
        mid = (high-1+low)/2;
        if (key<array[mid])
        {
            high = mid-1;
        }else if (key>array[mid])
        {
            low = mid+1;
        }else if (key==array[mid])
        {
            return mid;
        }
    }
}
int main()
{
    int max,key;
    printf("请输入数组元素个数:");
    scanf("%d",&max);
    int array[max];
    Array_get(array,max);
    printf("请输入要查找的数字:");
    scanf("%d",&key);
    printf("%d在第%d位",key,bin_search(array,max,key)+1);
    return 0;
}

  

数据结构C语言实现----折半查找

原文:https://www.cnblogs.com/jerryleesir/p/13392933.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!