21xrx.com
2024-09-20 05:59:39 Friday
登录
文章检索 我的文章 写文章
C++二分法代码实现
2023-06-27 07:01:07 深夜i     --     --
C++ 二分法 代码实现

C++ 二分法是计算机科学中常见的一种算法。它可以在一个有序的数组中查找特定元素,实现步骤比较简单,只需要将数组分成两半,然后判断目标元素在左边还是右边,循环进行,直到找到目标元素或者已经排除所有元素。

以下是一个简单的C++ 二分法代码实现:


#include<iostream>

using namespace std;

int binarySearch(int arr[], int left, int right, int target)

{

  while (left <= right)

  {

    int mid = (left + right) / 2;

    if (arr[mid] == target)

     return mid;

    if (arr[mid] < target)

     left = mid + 1;

    else

     right = mid - 1;

  }

  return -1;

}

int main()

{

  int arr[] = 9;

  int size = sizeof(arr) / sizeof(arr[0]);

  int target = 6;

  int result = binarySearch(arr, 0, size - 1, target);

  

  if(result == -1)

    cout << "Element is not present in array" << endl;

  else

    cout << "Element is present at index " << result << endl;

  return 0;

}

在使用C++ 二分法之前,需要先了解有序数组的概念。二分法在有序数组中最为常见的应用场景之一就是在数组中查找一个元素。

上面的代码通过循环来实现二分法,循环的起始值是数组的最低角标left,结束值是数组的最高角标right,中间值mid是通过(left+right) / 2 得到。当查找到目标元素时,返回元素所在的位置。

总之,C++二分法是一种非常常用的算法,可以高效地查找有序数组中的特定元素,同时也可以根据具体应用场景来进行改进和优化。使用它可以让程序的效率更高,提高程序员的编程技能。

  
  

评论区

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