在一個有序數組中查找某個數字

#include <stdio.h>

int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int k = 7;
int sz = sizeof(arr) / sizeof(arr[0]);//計算元素個數
int left = 0;//左下標
int right = sz - 1;//右下標





while(left <=right)
{
    int mid = (left + right) / 2;
    if (arr[mid] > k)
    {
        right = mid - 1;
    }
    else if(arr[mid] < k)
    {
        left = mid + 1;
    }
else
{
printf("找到了,下表是:%d\n", mid);
break;
 }
}
if(left >right)
{
    printf("找不到\n");

}
return 0;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章