21xrx.com
2024-12-22 20:58:16 Sunday
登录
文章检索 我的文章 写文章
C++中的最小最大值
2023-07-06 08:46:14 深夜i     --     --
C++ 最小值 最大值

C++是一种常用的编程语言,在C++的编程中,常常需要求出一组数据中的最小值和最大值。对于C++中求最小最大值的方法,我们可以使用STL(标准模板库)中的函数,也可以使用其他方法来实现。下面将针对此问题进行探讨。

在STL中,C++提供了两个函数用来求取最小最大值,即min_element()和max_element()。这两个函数分别用于查找一组数据中的最小值和最大值。如下面代码片段,查找数组a中的最小值和最大值。


#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

  int a[10] = 1;

  int *p1 = min_element(a, a+10); // 查找最小值

  int *p2 = max_element(a, a+10); // 查找最大值

  cout << "min value: " << *p1 << endl;

  cout << "max value: " << *p2 << endl;

  return 0;

}

运行结果为:


min value: 0

max value: 9

上述代码中,使用min_element()和max_element()函数查找数组a中的最小值和最大值,其中p1和p2分别指向最小值和最大值的位置。这两个函数也可用于求取容器vector、set、map等的最小最大值。

除了STL提供的函数,C++中还可以通过自己编写的函数来求取一组数据的最小值和最大值。如下面的代码片段,实现了一个函数minmax()来求取最小最大值。


#include <iostream>

#include <algorithm>

using namespace std;

void minmax(int a[], int n, int &min, int &max)

{

  min = max = a[0];

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

    if (a[i] < min) min = a[i];

    if (a[i] > max) max = a[i];

  }

}

int main()

{

  int a[10] = 8;

  int min, max;

  minmax(a, 10, min, max);

  cout << "min value: " << min << endl;

  cout << "max value: " << max << endl;

  return 0;

}

运行结果同上述例子。

上述代码中,使用minmax()函数求取数组a中10个元素的最小最大值,min和max为通过引用传递返回的最小值和最大值变量。之后输出min和max即可。

总结来说,C++中通过使用STL的min_element()和max_element()可以很方便地求取一组数据的最小最大值;也可以通过自己编写minmax()这样的函数来实现。这些方法都是编程中常用的操作,需要熟练掌握。

  
  

评论区

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