本文共 672 字,大约阅读时间需要 2 分钟。
写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回-1.(折半查找)
#include#include int binarysearch(int arr[], int size, int tofind) { int left = 0; int right = size - 1; while (left <= right) { int mid = (left + right) / 2; if (tofind > arr[mid]) { left = mid + 1; } if (tofind < arr[mid]) { right = mid - 1; } if (tofind == arr[mid]) { //printf("查找元素的下标是:%d\n", mid); return mid; } } return -1;}int main() { int arr[] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7}; int size = sizeof(arr) / sizeof(arr[0]); int num = binarysearch(arr, size, 8); if (num == -1) { printf("找不到!\n"); } else printf("查找元素的下标是:%d\n", num); system("pause"); return 0;}
转载地址:http://ewnv.baihongyu.com/