STL 算法
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
vector<int>v;
vector<int>vv;
for(int i=1;i<=9;++i){
v.push_back(i);
}
copy(v.begin(),v.end(),back_inserter(vv));
for(vector<int>::iterator itera=vv.begin();itera!=vv.end();++itera){
cout<<*itera<<" ";
}
cout<<endl;
copy(vv.begin(),vv.end(),ostream_iterator<int>(cout," "));
cout<<endl;
copy(v.begin(),v.end(),vv.rbegin());
copy(vv.begin(),vv.end(),ostream_iterator<int>(cout," "));
cout<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<vector>
#include<deque>
#include<algorithm>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9};
vector<int>v;
vector<int>vv(a,a+9);
for(int i=1;i<=9;++i){
v.push_back(i);
}
v.resize(v.size()+10);
vv.resize(vv.size()+10);
copy_backward(v.begin(),v.begin()+9,v.end());
copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
copy(vv.begin(),vv.begin()+9,vv.begin()+10);
copy(vv.begin(),vv.end(),ostream_iterator<int>(cout," "));
cout<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
using namespace std;
int main(){
vector<int>v;
vector<int>vv;
for(int i=1;i<=9;++i){
v.push_back(i);
}
transform(v.begin(),v.end(),back_inserter(vv),bind2nd(plus<int>(),10));
copy(vv.begin(),vv.end(),ostream_iterator<int>(cout," "));
cout<<endl;
transform(vv.begin(),vv.end(),vv.begin(),negate<int>());
copy(vv.begin(),vv.end(),ostream_iterator<int>(cout," "));
cout<<endl;
transform(vv.begin(),vv.end(),vv.begin(),bind2nd(multiplies<int>(),2));
copy(vv.begin(),vv.end(),ostream_iterator<int>(cout," "));
cout<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<functional>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9,10};
int b[]={2,2,2,2,2,2,2,2,2,2};
vector<int>v(a,a+10);
vector<int>vv(b,b+10);
transform(v.begin(),v.end(),v.begin(),v.begin(),multiplies<int>());
copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
transform(v.begin(),v.end(),vv.begin(),v.begin(),minus<int>());
copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
transform(v.begin(),v.end(),vv.begin(),v.begin(),plus<int>());
copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<deque>
#include<vector>
#include<functional>
#include<algorithm>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9,10};
int b[]={11,22,33,44,55,66,77,88,99,1010,1111};
vector<int>v(a,a+10);
deque<int>d(b,b+11);
//只有两个容器类型相同的时候才能用vector<int>v,vector<int>d, v.swap(d);
swap_ranges(v.begin(),v.end(),d.begin());
copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
copy(d.begin(),d.end(),ostream_iterator<int>(cout," "));
cout<<endl;
system("pause");
return 0;
}