c++ 求数组最大最小值函数的实现

 更新时间:2022年07月13日 08:52:37   作者:珍惜每分每秒  
这篇文章主要介绍了c++ 求数组最大最小值函数的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

求数组元素最大最小值函数

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[5]={1,2,3,0,-20};
cout<<*max_element(a,a+5)<<endl;
cout<<*max_element(a,a+5)<<endl;
return 0;
}

也可以通过这种方式,修改最大值或最小值

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[5]={1,2,3,0,-2},m=10;
*min_element(a,a+5) += *max_element(a,a+5);//把最小元素和最大元素的和 赋给当前最小元素
cout<<*max_element(a,a+5);
return 0;
}

c++中min和max函数

包含在c++标准库中头文件<algorithm>中,在头文件<windows.h>中定义了min,max的宏,若在包含<algorithm>的同时包含<windows.h>会导致函数无法使用。

<windows.h>提供了_cpp_min等函数来代替min函数的功能。

C++11标准:<algorithm>中min函数的原型

default (1)template <class T> const T& min (const T& a, const T& b);
custom (2)template <class T, class Compare>
  const T& min (const T& a, const T& b, Compare comp);
initializer list (3)template <class T> T min (initializer_list<T> il);
template <class T, class Compare>
  T min (initializer_list<T> il, Compare comp);

Return the smallest

Returns the smallest of  a and  b. If both are equivalent,  a is returned.

The versions for  initializer lists (3) return the smallest of all the elements in the list. Returning the first of them if these are more than one.

The function uses  operator< (or  comp, if provided) to compare the values.

eg:custom2<pre style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 128, 0);">template <class T, class Compare>
  const T& min (const T& a, const T& b, Compare comp);
#include<iostream>
#include<algorithm>
using namespace std;
struct var {
    char *name;
    int key;
    var(char *a,int k):name(a),key(k){}
};
bool comp(const var& l, const var& r) {
    return l.key < r.key;
}
int main() {
    var v1("var1", 2);
    var v2("var2", 3);
    cout << std::min(v1, v2,comp).name << endl;
    return 0;
}

stable_sort,max函数同min

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++设计模式之装饰模式(Decorator)

    C++设计模式之装饰模式(Decorator)

    这篇文章主要为大家详细介绍了C++设计模式之装饰模式Decorator的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 与ASCII码相关的C语言字符串操作函数

    与ASCII码相关的C语言字符串操作函数

    这篇文章主要介绍了与ASCII码相关的C语言字符串操作函数,分别是将字符转换为ASCII码的toascii()函数和根据ASCII码进行字符串比较的strcoll()函数,需要的朋友可以参考下
    2015-08-08
  • C语言中单引号和双引号用法详解

    C语言中单引号和双引号用法详解

    C语言中,单引号用于表示单个字符常量,而双引号用于表示字符串,单引号中的字符是int类型,双引号中的字符串是以null字符结尾的字符数组,本文介绍C语言中单引号和双引号用法,感兴趣的朋友一起看看吧
    2025-01-01
  • C++无锁队列的原理与实现示例

    C++无锁队列的原理与实现示例

    C++无锁队列是一种多线程编程技术,它可以在不使用锁的情况下实现线程安全的队列,本文就来详细的介绍一下C++无锁队列的原理与实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • C++中IO多路复用(select、poll、epoll)的实现

    C++中IO多路复用(select、poll、epoll)的实现

    I/O多路复用是一种并发处理多个I/O操作的机制,本文主要介绍了C++中IO多路复用(select、poll、epoll)的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 深入了解c++11 移动语义与右值引用

    深入了解c++11 移动语义与右值引用

    这篇文章主要介绍了c++ 移动语义与右值引用的相关资料,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-08-08
  • C++中获取随机数的常用方法小结

    C++中获取随机数的常用方法小结

    这篇文章主要为大家详细介绍了C++中获取随机数的几种常用方法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下
    2025-01-01
  • 如何配置 Sublime Text4为 C++ 编辑器

    如何配置 Sublime Text4为 C++ 编辑器

    这篇文章主要介绍了配置Sublime Text4为C++编辑器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • C语言实现三子棋游戏含完整代码

    C语言实现三子棋游戏含完整代码

    本文详细讲解了C语言实现三子棋游戏内含完整代码,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • C++实现延迟的方法详解

    C++实现延迟的方法详解

    这篇文章主要为大家详细介绍了C++实现延迟的三个方法,文中的示例代码讲解详细,对我们深入了解C++有一定的帮助,感兴趣的小伙伴可以学习一下
    2022-12-12

最新评论