cb27a_c++_STL_算法_最小值和最大值

cb27a_c++_STL_算法_最小值和最大值
min_element(b,e) b--begin(), e--end()
min_element(b,e,op). op:函数,函数对象,一元谓词。
max_element(b,e)
max_element(b,e,op)

bool absLess(int elem1, int elem2),返回bool,有两个参数,就是二元谓词

error C2661: “std::deque<int,std::allocator<_Ty>>::insert”: 没有重载函数接受 1 个参数
deque插入需要两个参数。 ideq.insert(ideq.end(),-12);

 

复制代码
 1 /*cb27a_c++_STL_算法_最小值和最大值
 2 min_element(b,e) b--begin(), e--end()
 3 min_element(b,e,op). op:函数,函数对象,一元谓词。
 4 max_element(b,e)
 5 max_element(b,e,op)
 6 
 7 bool absLess(int elem1, int elem2),返回bool,有两个参数,就是二元谓词
 8 
 9 error C2661: “std::deque<int,std::allocator<_Ty>>::insert”: 没有重载函数接受 1 个参数
10 deque插入需要两个参数。 ideq.insert(ideq.end(),-12);
11 */
12 
13 #include <iostream>
14 #include <algorithm>
15 #include <deque>
16 using namespace std;
17 
18 bool absLess(int elem1, int elem2)
19 {
20     return abs(elem1) < abs(elem2);
21 }
22 
23 int main()
24 {
25 
26     deque<int> ideq;
27     ideq.insert(ideq.end(),-12);
28     for (int i = 2; i <= 8; ++i)
29         ideq.insert(ideq.end(), i);
30     for (int i = -1; i <= 5; ++i)
31         ideq.insert(ideq.end(),i);
32     for (deque<int>::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
33         cout << *iter << ' ';
34     cout << endl;
35     cout << "min_element返回的是迭代器,所以输出需要解引用" << endl;
36     cout << "最小值: " << *min_element(ideq.begin(), ideq.end()) << endl;
37 
38     deque<int>::iterator result=min_element(ideq.begin(), ideq.end());
39     cout << "min_element算法_最小值: " << *result << endl;
40     cout << "最大值是: " << *max_element(ideq.begin(), ideq.end()) << endl;
41 
42     cout << "绝对最小值: " << *min_element(ideq.begin(), ideq.end(), absLess)<<endl;
43     cout << "绝对最大值: " << *max_element(ideq.begin(), ideq.end(), absLess) << endl;
44 
45     cout << "绝对最大值abs: " << abs(*max_element(ideq.begin(), ideq.end(), absLess)) << endl;
46     return 0;
47 }
复制代码

 

posted @   txwtech  阅读(284)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示