在一个有序数组中查找具体的某个数字n。

    xiaoxiao2025-03-22  19

    在一个有序 数组中查找具体的某个数字n。 编写int binsearch(int x, int v[], int n); 功能:在v[0]<=v[1]<=v[2] <= ….<=v[n-1]的数组中查找x.字

    #include <stdio.h> #include <stdlib.h> int main(){ //用二分查找实现数字的查找 int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int to_find = 8; int left = 0; //首元素的下标 int right = sizeof (arr) / sizeof(arr[0]) - 1; //最后一个元素的下标 while (left <= right){ int mid = (left + right) / 2; if (to_find < arr[mid]){ right = mid - 1; //查找的数字在 mid 的左边 } else if (to_find > arr[mid]){ left = mid + 1; //查找的数字在 mid 的右边 } else{ break; } } if (left <= right){ printf("找到了!\n"); } else{ printf("没找到!\n"); //循环结束了,代表没找到指定数字 } system("pause"); return 0; }
    最新回复(0)