二分查找代码c语言

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二分查找代码c语言
二分查找是一种快速查找算法,也称为折半查找。

它的基本思想是将有序数组从中间进行分割,将要查找的数与中间数进行比较,如果相等,则返回当前位置,如果不相等,则判断要查找的数在左侧还是右侧,重复以上步骤,直到找到或者全部搜索完毕。

以下是二分查找的C语言代码实现:
```
int binarySearch(int arr[], int low, int high, int key) {
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == key)
return mid;
if (arr[mid] < key)
low = mid + 1;
else
high = mid - 1;
}
return -1;
}
```
其中,arr为已排序的数组,low和high分别为数组的开始和结尾位置,key为要查找的数。

函数通过迭代实现二分查找,如果找到了key,则返回当前位置,否则返回-1。

调用binarySearch函数的代码示例如下:
```
int main() {
int arr[] = { 2, 5, 7, 13, 16, 21 };
int n = sizeof(arr) / sizeof(arr[0]);
int key = 13;
int result = binarySearch(arr, 0, n - 1, key);
if (result == -1)
printf("未找到要查找的数\n");
else
printf("要查找的数在数组中的位置为%d\n", result);
return 0;
}
```
通过以上代码示例,我们可以看到二分查找算法的基本实现原理和调用方式。

相关文档
最新文档