21xrx.com
2025-06-20 23:30:57 Friday
登录
文章检索 我的文章 写文章
C++如何查找整数
2023-07-05 10:12:20 深夜i     22     0
C++ 查找 整数

C++中有多种方法可以用来查找整数。下面我们来介绍两种常见的方法。

第一种方法是使用线性查找,也叫顺序查找。它是最基本的查找算法,顺序从头到尾依次对每个元素进行比较,直到找到目标元素或搜索完整个数组。这种方法的时间复杂度为O(n)。下面是一个使用线性查找的示例代码:

int linearSearch(int arr[], int n, int target) {
  for(int i = 0; i < n; i++) {
    if(arr[i] == target)
      return i;
    
  }
  return -1;
}

其中,arr是待搜索的数组,n是数组长度,target是要查找的整数。如果找到目标整数,就返回其在数组中的下标,否则返回-1。

第二种方法是使用二分查找,也叫折半查找。它是一种非常高效的查找算法,但要求数组必须是排好序的。它的基本思想是每次折半查找,在已经排好序的数组中找到目标元素。这种方法的时间复杂度为O(log2 n)。下面是一个使用二分查找的示例代码:

int binarySearch(int arr[], int n, int target) {
  int left = 0, right = n - 1;
  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;
    
  }
  return -1;
}

其中,arr是已经排好序的数组,n是数组长度,target是要查找的整数。如果找到目标整数,就返回其在数组中的下标,否则返回-1。

需要注意的是,使用二分查找时必须首先确保数组已经排好序,否则会出现错误的结果。而使用线性查找则不需要排序,但效率相对较低。选择哪种方法取决于具体的应用场景。

  
  

评论区