亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言二分法查找怎么使用

小億
108
2023-07-27 21:52:09
欄目: 編程語言

二分法查找是一種高效的查找算法,可以在有序數組中快速定位目標元素的位置。以下是二分法查找的使用方法:

  1. 確定查找范圍:首先需要確定要查找的數組范圍。假設要查找的數組名為arr,數組元素個數為n

  2. 初始化起始和結束索引:將起始索引start設置為0,將結束索引end設置為n-1

  3. 進行二分查找:在每次循環中,計算中間元素的索引mid,即mid = (start + end) / 2。然后,比較中間元素arr[mid]和目標元素target的大小關系。

  • 如果arr[mid]等于target,則找到目標元素,返回mid

  • 如果arr[mid]大于target,則目標元素可能在左半部分,更新endmid-1

  • 如果arr[mid]小于target,則目標元素可能在右半部分,更新startmid+1

  1. 重復步驟3直到找到目標元素或者搜索范圍縮小為空。

下面是一個使用二分法查找的示例代碼:

#include <stdio.h>
int binarySearch(int arr[], int n, int target) {
int start = 0;
int end = n - 1;
while (start <= end) {
int mid = (start + end) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] > target) {
end = mid - 1;
} else {
start = mid + 1;
}
}
return -1; // 目標元素不存在
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 7;
int result = binarySearch(arr, n, target);
if (result != -1) {
printf("目標元素在數組中的索引為:%d\n", result);
} else {
printf("目標元素在數組中不存在\n");
}
return 0;
}

在上述示例代碼中,先定義了一個binarySearch函數,接收一個有序數組arr、數組元素個數n和目標元素target作為參數。函數返回目標元素在數組中的索引,如果目標元素不存在,則返回-1。

main函數中,定義了一個有序數組arr和目標元素target,然后調用binarySearch函數進行二分查找。最后根據返回結果輸出目標元素是否存在以及其在數組中的索引。

0
醴陵市| 齐齐哈尔市| 北安市| 霍州市| 东山县| 迭部县| 宁河县| 辽阳县| 松溪县| 象山县| 潜山县| 灌南县| 萍乡市| 灵石县| 南昌市| 新竹县| 靖西县| 商水县| 林口县| 平谷区| 聂拉木县| 电白县| 获嘉县| 安新县| 贡嘎县| 临安市| 聂拉木县| 嫩江县| 定日县| 上犹县| 辰溪县| 夏河县| 喀喇沁旗| 夏津县| 平南县| 潼关县| 石楼县| 扎鲁特旗| 宿松县| 江阴市| 武强县|