21xrx.com
2024-11-05 18:55:11 Tuesday
登录
文章检索 我的文章 写文章
C++如何判断一个数是否在数组中
2023-07-03 18:02:38 深夜i     --     --
C++ 数组 判断数值

在C++中判断一个数是否在数组中有多种方法。这篇文章将介绍两种比较常用的方法。

1. 线性搜索

线性搜索是最简单的方法,它从头到尾遍历整个数组来查找目标元素。例如,如果我们要查找数字7是否在以下数组中:

int array[] = 2;

我们可以使用以下代码:

bool isInArray(int* array, int size, int target)

{

  for (int i = 0; i < size; i++)

  {

    if (array[i] == target)

      return true;

  }

  return false;

}

这个函数将返回true,如果目标元素在数组中。否则,返回false。

2. 二分查找

二分查找是更加高效的查找方法。但是,它要求数组是有序的。在二分查找中,我们将目标元素与数组的中间元素进行对比。如果目标元素等于中间元素,那么我们就找到了我们的目标。否则,我们将查找的范围缩小到左侧或右侧的子数组中,并继续进行相同的比较,直到我们找到目标元素或者确定它不存在于数组中。

以下是一个使用二分查找的示例代码:

bool isInArray(int* array, int size, int target)

{

  int low = 0;

  int high = size - 1;

  while (low <= high)

  {

    int mid = (low + high) / 2;

    if (array[mid] == target)

      return true;

    else if (array[mid] < target)

      low = mid + 1;

    else

      high = mid - 1;

  }

  return false;

}

这个函数也将返回true,如果目标元素在数组中。否则,返回false。

总结

以上两种方法都可以用来判断一个数是否在数组中。线性搜索是最简单的方法,但在大型数组中效率较低。二分查找需要数组是有序的,但对于大型有序数组提供了更高效的搜索方式。在选择方法时,请根据您的应用场景自行决定。

  
  

评论区

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