码迷,mamicode.com
首页 > 其他好文 > 详细

二分查找

时间:2018-04-25 00:20:00      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:code   排序数组   长度   splay   turn   include   one   spl   play   

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

二分查找的数组实现(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;
}

 

二分查找

标签:code   排序数组   长度   splay   turn   include   one   spl   play   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!