D4.3 在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回-1.(折半查找)

#include<stdio.h>
#include<stdlib.h>

int main(){
    int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    int left = 0;
    int right = sizeof(arr) / sizeof(arr[0]) - 1;
    int to_find = 8;
    while (left <= right){
        int mid = (left + right) / 2;
        if (to_find > arr[mid]){
            left = mid + 1;
        }
        else if (to_find < arr[mid]){
            right = mid - 1;
        }
        else{
            printf("找到了!\n");
            break;
        }
    }
    system("pause");
}
 

猜你喜欢

转载自blog.csdn.net/canvasa/article/details/88874018