1. 程式人生 > >用二分查詢法在一維有序陣列中查詢某個值並輸出其下標值

用二分查詢法在一維有序陣列中查詢某個值並輸出其下標值

關鍵字與左右標的大小比較

#include<stdio.h>
int main()
{
    int  arr[] = { 0, 1, 2, 3, 4, 6, 7, 9 };
    int left = 0;
    int right = sizeof(arr) / sizeof(arr[0])-1;
    int mid = 0;
    int key = 4;
    while (left <= right)
    {
        mid=(left + right) / 2;
        if (arr[mid]>key)
        {
            right
= mid - 1; } else if (arr[mid] < key) { left = mid + 1; } else break; } if (left <= right) { printf("找到了下標是%d\n", arr[mid]); } else { printf("找不到"); } return 0; }

這裡寫圖片描述