二分查找递归和非递归c语言代码
时间: 2023-06-29 17:14:39 浏览: 88
递归实现二分查找的C语言代码:
```
int binarySearch(int arr[], int low, int high, int target) {
if (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target) {
return mid;
}
else if (arr[mid] > target) {
return binarySearch(arr, low, mid - 1, target);
}
else {
return binarySearch(arr, mid + 1, high, target);
}
}
return -1;
}
```
非递归实现二分查找的C语言代码:
```
int binarySearch(int arr[], int low, int high, int target) {
while (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target) {
return mid;
}
else if (arr[mid] > target) {
high = mid - 1;
}
else {
low = mid + 1;
}
}
return -1;
}
```