21xrx.com
2024-11-10 00:22:59 Sunday
登录
文章检索 我的文章 写文章
C++数组查找
2023-07-05 11:18:05 深夜i     --     --
C++ 数组 查找

C++数组是一种常用的数据结构,它允许我们存储一组同类型的数据元素。数组除了存储数据外,还能对这些数据进行查找、排序和修改等操作。其中查找操作是数组中最常用的操作之一,C++数组提供了多种查找方法。

一维数组查找:

线性查找是一种基本的查找方式,在一维数组中实现起来很简单。线性查找的原理是从数组的首元素开始遍历,依次比较每个元素的值。当找到要查找的元素时,返回该元素的下标,如果没有找到,返回-1。下面是线性查找的代码示例:


int linearSearch(int arr[], int n, int target) {

  for (int i = 0; i < n; i++) {

    if (arr[i] == target)

      return i;

    

  }

  return -1;

}

二分查找是另外一种常用的查找方式,它适用于排序好的数组。二分查找的原理是将数组分成两半,然后比较要查找元素的值和数组中间值的大小关系。如果要查找元素的值大于中间值,则在右半部分继续查找。反之,在左半部分查找。直到找到要查找的元素或找不到为止。下面是二分查找的代码示例:


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

  while (left <= right) {

    int mid = (left + right) / 2;

    if (arr[mid] == target)

      return mid;

     else if (arr[mid] < target) {

      left = mid + 1;

    } else

      right = mid - 1;

    

  }

  return -1;

}

二维数组查找:

在二维数组中查找一个元素要比在一维数组中查找要复杂一些。我们可以使用两个for循环来遍历整个数组,然后依次比较每个元素的值。下面是二维数组查找的代码示例:


bool findElement(int arr[][3], int row, int col, int target) {

  for (int i = 0; i < row; i++) {

    for (int j = 0; j < col; j++) {

      if (arr[i][j] == target)

        return true;

      

    }

  }

  return false;

}

以上是C++数组查找的一些常见方法,希望对您有所帮助。

  
  

评论区

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