stl(20)内置算法merge
标签:正数 回调函数 res 随机 begin 倒数 for_each sort ever
1.merge的用法
用于将两个有序的容器合并到另外一个容器,合并后的容器也是有序的。头文件#include
#include
#include
#include
int main(){
std::vector vec0;
std::vector vec1;
std::vector vec2;
vec0.push_back(5);
vec0.push_back(7);
vec0.push_back(9);
vec1.push_back(4);
vec1.push_back(6);
vec1.push_back(8);
vec2.resize(vec0.size()+vec1.size());
std::merge(vec0.begin(),vec0.end(),vec1.begin(),vec1.end(),vec2.begin());
std::for_each(vec2.begin(),vec2.end(),[](int i){std::cout
return 0;
}
2.sort的用法
sort用于对容器中的元素进行排序,#include
(1)默认是升序排序
std::vector vec3;
vec3.push_back(3);
vec3.push_back(2);
vec3.push_back(1);
std::sort(vec3.begin(),vec3.end());
std::for_each(vec3.begin(),vec3.end(),[](int i){std::cout
(2)可以传入一个回调函数改变默认的排序规则
std::vector vec4;
vec4.push_back(1);
vec4.push_back(2);
vec4.push_back(3);
std::sort(vec4.begin(),vec4.end(),[](int val,int val1){return val>val1;});
std::for_each(vec4.begin(),vec4.end(),[](int i){std::cout
3.random_shuffle的用法
random_shuffle用于对容器内的元素打乱顺序随机排列,类似洗牌。#include
std::vector vec5;
vec5.push_back(1);
vec5.push_back(2);
vec5.push_back(3);
vec5.push_back(4);
vec5.push_back(5);
std::random_shuffle(vec5.begin(),vec5.end());
std::for_each(vec5.begin(),vec5.end(),[](int i){std::cout
4.reverse的用法
reverse用于反转容器中的元素,即最后一个变为第一个,倒数第二个变为正数第二个...#include
std::vector vec6;
vec6.push_back(1);
vec6.push_back(2);
vec6.push_back(3);
vec6.push_back(4);
vec6.push_back(5);
std::reverse(vec6.begin(),vec6.end());
std::for_each(vec6.begin(),vec6.end(),[](int i){std::cout
stl(20)内置算法merge
标签:正数 回调函数 res 随机 begin 倒数 for_each sort ever
原文地址:https://www.cnblogs.com/maycpou/p/14470752.html
评论