首页 > 其他 > 详细

二分查找

时间:2018-04-24 23:59:38      阅读:273      评论:0      收藏:0      [点我收藏+]

二分查找序列必须基于已排序数组

二分查找的数组实现(c语言)

#include <stdio.h>

int Search(int * p,int n,int length) // n为查找的数字,length为数组长度
{
    if (length < 0 && p == NULL)
    {
        return -1;
    }

    int left = 0;
    int right = length - 1;

    while (left < right)
    {
        int middle;
        middle = (left + right)/2;
        if (p[middle] < n)
        {
            left = middle + 1;
        }else if (p[middle] > n)
        {
             right = middle - 1;
        }
        else
        {
            return middle;
        }
    }

    return 0;
}


int main()
{
    int a[8] = {1,2,3,4,5,6,7,8};    //必须基于已排序数组
    int res = Search(a,4,8);
    printf("%d\n",res);

    return 0;
}

 

二分查找

原文:https://www.cnblogs.com/jackzone/p/8934367.html

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