C++ 快速查找算法 演示
时间: 2024-09-09 07:03:05 浏览: 40
在C++中,快速查找算法通常指的是二分查找法(Binary Search),它适用于已经排序的数据集合。以下是基本的二分查找过程:
1. **设置起始和结束位置**:假设我们要在一个数组`arr`中查找值`target`,开始时,我们将左指针设为0(数组的第一个元素),右指针设为数组长度减1(最后一个元素)。
```cpp
int left = 0;
int right = arr.size() - 1;
```
2. **比较中间元素**:计算中间索引`mid`并获取数组中间元素的值。如果`target`等于中间元素,则找到了目标;若`target`小于中间元素,说明目标应在左半部分;若`target`大于中间元素,则在右半部分继续查找。
```cpp
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target)
return mid; // 找到目标返回其索引
else if (arr[mid] < target)
left = mid + 1; // 目标在右侧,缩小范围至mid+1
else
right = mid - 1; // 目标在左侧,缩小范围至mid-1
}
```
3. **未找到目标**:当左指针大于右指针时,表示目标不存在于数组中,返回`-1`或其他标志表示查无此数。
```cpp
return -1; // 如果遍历完仍未找到,返回找不到的结果
```
阅读全文