?
? ? ? ?算法库还新增了一个同时获取最大值和最小值的算法minmax_element,这样我们如果想获取最大值和最小值的时候就不用分别调用max_element和max_element算法了,用起来会更方便,minmax_element会将最小值和最大值的迭代器放到一个pair中返回,下面是它的基本用法:
?
复制代码
#include
#include
using namespace std;
?
int main() {
? ? // your code goes here
? ? vector v = { 1, 2, 5, 7, 9, 4 };
? ? auto result = minmax_element(v.begin(), v.end());
? ?
? ? cout<<*result.first<<" "<<*result.second<
?
? ? return 0;
}
复制代码
将输出:
?
1 9
?
? ? ? ?算法库新增了is_ sorted和is_ sorted_until算法,is_sort用来判断某个序列是否是排好序的,is_sort_until则用来返回序列中前面已经排好序的部分序列。下面是它们的基本用法:
?
复制代码
#include
#include
using namespace std;
?
int main() {
? ? vector v = { 1, 2, 5, 7, 9, 4 };
? ? auto pos = is_sorted_until(v.begin(), v.end());
? ?
? ? for(auto it=v.begin(); it!=pos; ++it)
? ? {
? ? ? ? cout<<*it<< " ";
? ? }
? ? cout<
? ??
? ? bool is_sort = is_sorted(v.begin(), v.end());
? ? cout<< is_sort<
? ? return 0;
}
复制代码
将输出:
?
1 2 5 7 9
0
总结:这些新增的算法让我们用起来更加简便,也增强了代码的可读性。