您的位置:首页 > 其它

二分查找

2015-09-05 02:04 316 查看
1.原理:

 


        (1).在已经排好序的数 a[i,j] 组中,取中间的数 a[mid] 与29进行比较

        (2)若 a[mid] < 29, 在 a[mid+1,j] 中查找;

                若 a[mid] > 29, 在 a[i,mid-1] 中查找;

                若 a[mid] = 29,mid+1 就是29 在数组中的位置;

     

2.代码:

void find_number(int array[], int len, int num)
{
int left = 0, right = len - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (array[mid] < num)
left = mid + 1;
else if (array[mid] > num)
right = mid - 1;
else if (array[mid] == num)
{
cout << mid << ':' << array[mid];
return;
}
}

cout << "找不到 " << num;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: