copy
#include<iostream>
#include<string>
using namespace std;
#include<vector>
#include<algorithm>
/*copy
copy(v.begin(), v.end(),v2.begin());
//参数列表:1:起始迭代器,2:结束迭代器,3目标起始迭代器
*/
class MyPrint {
public:
void operator()(int& a) {
cout << a << " ";
}
};
void test() {
vector<int> v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
v.push_back(6);
sort(v.begin(), v.end());
for_each(v.begin(), v.end(), MyPrint());
cout << endl;
vector<int> v2;
v2.resize(v.size());
copy(v.begin(), v.end(),v2.begin());
for_each(v2.begin(), v2.end(), MyPrint());
}
int main() {
test();
return 0;
}
replace
#include<iostream>
#include<string>
using namespace std;
#include<vector>
#include<algorithm>
/*replace
replace(v.begin(), v.end(), 6, 99);
//参数列表:1:起始迭代器,2:结束迭代器,3:旧元素, 4: 新元素
*/
class MyPrint {
public:
void operator()(int& a) {
cout << a << " ";
}
};
void test() {
vector<int> v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
v.push_back(6);
sort(v.begin(), v.end());
for_each(v.begin(), v.end(), MyPrint());
cout << endl;
replace(v.begin(), v.end(), 6, 99);
for_each(v.begin(), v.end(), MyPrint());
}
int main() {
test();
return 0;
}
replace_if
#include<iostream>
#include<string>
using namespace std;
#include<vector>
#include<algorithm>
/*replace_if
replace_if(v.begin(), v.end(), Greater10(), 99);
//参数列表:1:起始迭代器,2:结束迭代器,3:谓词, 4: 新元素
*/
class MyPrint {
public:
void operator()(int& a) {
cout << a << " ";
}
};
class Greater10 {
public:
bool operator()(int& a) {
return a > 8;
}
};
void test() {
vector<int> v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
v.push_back(6);
sort(v.begin(), v.end());
for_each(v.begin(), v.end(), MyPrint());
cout << endl;
replace_if(v.begin(), v.end(), Greater10(), 99);
for_each(v.begin(), v.end(), MyPrint());
}
int main() {
test();
return 0;
}
swap
#include<iostream>
#include<string>
using namespace std;
#include<vector>
#include<algorithm>
/*swap
swap(v,v2);
//参数列表:1:容器1,2:容器2,
*/
class MyPrint {
public:
void operator()(int& a) {
cout << a << " ";
}
};
class Greater10 {
public:
bool operator()(int& a) {
return a > 5;
}
};
void test() {
vector<int> v,v2;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
v2.push_back(i + 10);
}
v.push_back(6);
swap(v,v2);
for_each(v.begin(), v.end(), MyPrint());cout << endl;
for_each(v2.begin(), v2.end(), MyPrint());
}
int main() {
test();
return 0;
}