# C語言中怎么實現二分查找
二分查找是一種高效的查找算法,適用于**已排序的數組**。其核心思想是通過不斷縮小查找范圍來快速定位目標值。以下是C語言的實現步驟:
1. **確定邊界**
初始化左右邊界為數組首尾索引:
```c
int left = 0, right = n - 1; // n為數組長度
循環折半查找
每次取中間元素比較,調整邊界:
while (left <= right) {
int mid = left + (right - left) / 2; // 防溢出寫法
if (arr[mid] == target) return mid;
else if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
返回結果
找到返回索引,未找到返回-1。
注意事項:
- 數組必須有序
- 時間復雜度為O(log n)
完整示例代碼可封裝為函數,傳入數組、長度和目標值即可調用。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。