21xrx.com
2024-11-10 00:54:30 Sunday
登录
文章检索 我的文章 写文章
C++如何查找整数
2023-07-05 10:12:20 深夜i     --     --
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。

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

  
  

评论区

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