0.前言
1.copy
#include <iostream>
using namespace std;// 常用拷贝算法 copy
#include<vector>
#include<algorithm>void myPrint(int val)
{cout << val << " ";
}void test01()
{vector<int>v;for (int i = 0; i < 10; i++){v.push_back(i);}vector<int>v2;v2.resize(v.size());copy(v.begin(), v.end(), v2.begin());for_each(v2.begin(), v2.end(), myPrint);cout << endl;
}int main()
{test01();cout << "------------------------" << endl;//test02();//cout << "------------------------" << endl << endl;//test03();//**************************************system("pause");return 0;
}
2.replace
#include <iostream>
using namespace std;// 常用替换算法 replace
#include<vector>
#include<algorithm>class myPrint
{
public:void operator()(int val){cout << val << " ";}
};void myPrint2(int val)
{cout << val << " ";
}void test01()
{vector<int>v;v.push_back(10);v.push_back(20);v.push_back(30);v.push_back(20);cout << "替换前:" << endl;for_each(v.begin(), v.end(), myPrint());cout << endl;//将 20 替换为 2000replace(v.begin(), v.end(), 20, 2000);for_each(v.begin(), v.end(), myPrint2);cout << endl;
}int main()
{test01();cout << "------------------------" << endl;//test02();//cout << "------------------------" << endl << endl;//test03();//**************************************system("pause");return 0;
}
3.replace_if
#include <iostream>
using namespace std;// 常用替换算法 replace_if
#include<vector>
#include<algorithm>class myPrint
{
public:void operator()(int val){cout << val << " ";}
};bool Greater20(int val)
{return val > 20;
}void test01()
{vector<int>v;v.push_back(10);v.push_back(20);v.push_back(30);cout << "替换前:" << endl;for_each(v.begin(), v.end(), myPrint());cout << endl;replace_if(v.begin(), v.end(), Greater20, 3000);for_each(v.begin(), v.end(), myPrint());cout << endl;
}int main()
{test01();cout << "------------------------" << endl;//test02();//cout << "------------------------" << endl << endl;//test03();//**************************************system("pause");return 0;
}
4.swap
#include <iostream>
using namespace std;// 常用替换算法 swap
#include<vector>
#include<algorithm>void myPrint(int val)
{cout << val << " ";
}void test01()
{vector<int>v1;vector<int>v2;for (int i = 0; i < 10; i++){v1.push_back(i);v2.push_back(i + 100);}cout << "交换前:" << endl;for_each(v1.begin(), v1.end(), myPrint);cout << endl;for_each(v2.begin(), v2.end(), myPrint);cout << endl;swap(v1, v2);cout << "交换后:" << endl;for_each(v1.begin(), v1.end(), myPrint);cout << endl;for_each(v2.begin(), v2.end(), myPrint);cout << endl;
}int main()
{test01();cout << "------------------------" << endl;//test02();//cout << "------------------------" << endl << endl;//test03();//**************************************system("pause");return 0;
}