STL顺序容器操作7
1.赋值与交换( swap )
c1 = c2 c1.swap( c2 ) c.assign( b, e ) c.assign( n, t )
2.使用assign: 类型兼容即可
3.使用swap : 类型必须相同
#include <iostream>
#include <vector>
#include <deque>
#include <list>
#include <string>
using namespace std;
int main( int argc, char** argv )
{
vector<int> a;
vector<int> b;
vector<int> c;
vector<char *> vec;
list<string> lst;
vec.push_back("apple");
vec.push_back("big");
vec.push_back("cat");
lst.push_back("c");
lst.push_back("c++");
lst.push_back("java");
lst.push_back("c#");
lst.assign(vec.begin(), vec.end());
for(list<string>::iterator itr = lst.begin(); itr != lst.end(); itr++ )
{
cout<<*itr<<endl;
}
lst.assign( 10, "hello");
for(list<string>::iterator itr = lst.begin(); itr != lst.end(); itr++ )
{
cout<<*itr<<endl;
}
a.push_back(10);
a.push_back(20);
a.push_back(30);
a.push_back(40);
b.push_back(100);
b.push_back(200);
b.push_back(300);
c.push_back(1);
c.push_back(2);
c.push_back(3);
c.push_back(4);
c.push_back(5);
c.push_back(6);
a.swap(b);
for( vector<int>::iterator itr = a.begin(); itr != a.end(); itr++ )
{
cout<<*itr<<endl;
}
a = b;
for( vector<int>::iterator itr = a.begin(); itr != a.end(); itr++ )
{
cout<<*itr<<endl;
}
vector<int>::iterator f = c.begin();
++f;
++f;
vector<int>::iterator e = c.end();
--e;
//a.assign(c.begin(), c.end());
a.assign(f,e);
for( vector<int>::iterator itr = a.begin(); itr != a.end(); itr++ )
{
cout<<*itr<<endl;
}
return 0;
}