21xrx.com
2024-11-08 21:58:21 Friday
登录
文章检索 我的文章 写文章
C++二分查找主函数代码
2023-07-12 07:09:12 深夜i     --     --
C++ 二分查找 主函数 代码

C++二分查找是一种常见的数据搜索算法。它在有序数组中找到特定值的位置,通过将数组分成两半来实现快速查找。以下是C++二分查找主函数代码的样例。


#include <iostream>

#include <vector>

using namespace std;

int binarySearch(vector<int>& nums, int target) {

  int left = 0;

  int right = nums.size() - 1;

  while (left <= right) {

    int mid = left + (right - left) / 2;

    if (nums[mid] == target)

      return mid;

     else if (nums[mid] < target) {

      left = mid + 1;

    } else

      right = mid - 1;

    

  }

  return -1;

}

int main() {

  vector<int> arr 3;

  int target = 6;

  int index = binarySearch(arr, target);

  if (index != -1)

    cout<<"Target found at index: "<< index << endl;

   else

    cout<<"Target not found in array"<< endl;

  

  return 0;

}

在这个例子中,我们首先定义了一个 `binarySearch` 函数,该函数接受两个参数:一个存储整数的向量 `nums` 和要查找的 `target` 值。我们使用 `left` 和 `right` 两个指针追踪搜索范围。

然后我们在一个循环中迭代,直到找到目标或搜索范围为空。在每次迭代中,我们计算出中间值 `mid`。如果 `nums[mid]` 等于 `target`,则已经找到了目标并返回 `mid`。否则,如果 `nums[mid]` 小于 `target`,则将 `left` 指针右移一半,否则将`right`指针左移一半。

最后,我们在 `main` 函数中创建一个整数向量,用于存储我们要搜索的有序数组。我们指定 `target` 为要查找的值。然后,我们向 `binarySearch` 函数传递这些变量,如果返回的索引不为-1,则说明已经找到了目标并打印相应的消息。如果索引为-1,则说明目标不在数组中,并打印相应的错误消息。

通过理解这个简单示例,可以开始了解如何实际使用C++二分查找算法来查找数据。这对于搜索和排序操作,特别是涉及大量数据的情况下非常有用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复