#include <stdio.h>
int main() {
int arr[] = { 1,1,2,2,3,4,5,6,7,8,9 };
int n = 1;
//穷举法
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
if (n == arr[i])
{
printf("%d\n", arr[i]);
printf("%d\n", i);
}
}
//二分法
int sz = sizeof(arr) / sizeof(arr[0]);
int right = sz - 1;
int left = 0;
while (left <= right)
{
int mid = (left + right)/2;
if (arr[mid] < n)
{
left = mid + 1;
}
else if (arr[mid] > n)
{
right = mid - 1;
}
else
{
printf("找到了,下标是%d\n", mid);
break;
}
if (left > right)
{
printf("找不到");
}
}
return 0;
}
C语言-穷举法和二分法从数组中查找数字
该代码示例展示了如何在C语言中通过穷举法和二分查找法寻找数组中的特定数值及其下标。穷举法遍历整个数组,而二分查找法在已排序的数组中更高效,但未处理未找到的情况。
摘要由CSDN通过智能技术生成