大挪耗

二分法找数字返回数组

#include <iostream>
using namespace std;
int search(int a[], int len, int terget) {
    int low = 0, high = len - 1, mid; //初始化low,high,mid的位置
    while (low <=high)
    {
        mid = (low + high) / 2;//指针取中间
        if (a[mid] == terget)return mid;
        else if (a[mid] > terget)high = mid - 1;
        else low = mid + 1;
    }
    return -1;
}
int main()
{
    int a[] = { 1,2,3,4,5,6,7,8,9,10 };//必须是已经排序好的数组
    int rusult;
    rusult=search(a, sizeof(a) / sizeof(int), 11);
    cout << rusult<<endl;
}

结果为:-1


已发布

分类

可以收藏大挪耗一下。下载麻烦点城通网盘,站长保证下载速度,不会限速的,放心点就是了;分卷,安卓下载为txt:程序下载为url,不会下载参考不会下载。如果你想让本站活的久一点,请直接捐助

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注