文章目录
STL常用算法【排序、拷贝和替换】
1、sort
- 对容器内元素进行排序
练习代码:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <functional>
using namespace std;
void myPrint(int val)
{
cout << val << " ";
}
void test01()
{
vector<int> v;
v.push_back(100);
v.push_back(2);
v.push_back(23);
v.push_back(3009);
v.push_back(245);
sort(v.begin(), v.end());//默认升序
for_each(v.begin(), v.end(), myPrint);
cout << endl;
//降序
sort(v.begin(), v.end(), greater<int>());
for_each(v.begin(), v.end(), myPrint);
cout << endl;
}
int main()
{
test01();
return 0;
}
2、random_shuffle
- 洗牌,指定范围内的元素随机调整次序
练习代码:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <functional>
#include <ctime>
using namespace std;
void myPrint(int val)
{
cout << val << " ";
}
void test01()
{
srand((unsigned int)time(NULL));
vector<int> v;
for (int i = 0; i < 10; i++)
{
v.push_back(i + 1);
}
for_each(v.begin(), v.end()