#include <stdio.h>

// 折半查找算法 int binarySearch(int arr[], int n, int key) { int left = 0; int right = n - 1; while (left <= right) { int mid = (left + right) / 2; if (arr[mid] == key) { return mid; } else if (arr[mid] < key) { left = mid + 1; } else { right = mid - 1; } } return -1; // 没有找到 }

int main() { int arr[] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; // 递增有序表 int n = sizeof(arr) / sizeof(arr[0]); int key;

printf('请输入要查找的值: ');
scanf('%d', &key);

int index = binarySearch(arr, n, key);
if (index != -1) {
    printf('找到了,索引位置为 %d\n', index);
} else {
    printf('没有找到\n');
}

return 0;

}

C语言实现折半查找算法:查找有序表中指定元素

原文地址: https://www.cveoy.top/t/topic/f3YT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录