21xrx.com
2024-12-22 21:19:00 Sunday
登录
文章检索 我的文章 写文章
C++数组查找教程
2023-07-11 01:51:43 深夜i     --     --
C++ 数组 查找 教程 算法

C++是一门由Bjarne Stroustrup于1983年开发的高级编程语言,被广泛应用于计算机程序设计、操作系统、各种应用程序等领域。在C++编程中,数组是一个非常重要的数据结构,拥有广泛的应用。但是,在实际应用中,如何对数组进行查找是C++编程中的一个重要问题。下面将介绍C++数组查找的教程,包括常见的线性查找和二分查找。

线性查找是最简单的查找算法之一。它在一个序列中按顺序查找所需元素,当找到匹配的元素时,返回该元素的位置,否则返回查找失败。以下是实现线性查找的C++代码:


int linear_search(int arr[], int size, int key)

{

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

  {

    if (arr[i] == key)

    

      return i; 

    

  }

  return -1; 

}

在此函数中,arr是需要查找的数组,size是数组的长度,key是需要查找的关键字。该函数从数组的起点开始遍历序列,一旦找到与关键字匹配的元素,返回该元素的位置。如果整个序列都没有找到匹配的元素,则返回-1表示查找失败。

另一种常见的数组查找算法是二分查找。在已排序的数组中使用二分查找算法可以更快地查找所需元素。以下是实现二分查找的C++代码:


int binary_search(int arr[], int size, int key)

{

  int left = 0; 

  int right = size - 1; 

  int mid; 

  while (left <= right)

  {

    mid = left + (right - left) / 2;

    if (arr[mid] == key)

    

      return mid; 

    

    else if (arr[mid] < key)

    {

      left = mid + 1; 

    }

    else

    

      right = mid - 1; 

    

  }

  return -1; 

}

在此函数中,arr是需要查找的已排序数组,size是数组的长度,key是需要查找的关键字。在二分查找算法中,关键字被与数组的中间元素进行比较。如果关键字小于中间元素,则将搜索范围缩小到左侧的子数组;如果关键字大于中间元素,则将搜索范围缩小到右侧的子数组,直到找到匹配的元素。如果整个数组都没有找到匹配的元素,则返回-1表示查找失败。

通过学习这些数组查找算法,C++编程实践中的数组查找就能得心应手了。无论是线性查找还是二分查找,都是C++编程中常见的算法,在实际开发中必不可少。如果你学会了这些算法,就能更加轻松地应对实际的编程任务,提高编程效率。

  
  

评论区

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