插入方法:
1. vector、list的insert用法:
(1)iterator insert( iterator loc, const TYPE &val )
(2)void insert( iterator loc, size_type num, const TYPE &val )
(3)void insert( iterator loc, input_iterator start, input_iterator end )
2. map的insert用法:
若map<string,int> m,插入方法如下:
(1)m.insert(map<string,int>::value_type("hello",5));
(2)m.insert(make_pair("hello",5));
其中,insert的返回类型为:
pair< map<string,int>::iterator, bool >
pair的first参数是: 插入位置的迭代器(map<string,int>::iterator)
pair的second参数:插入是否成功的标志(bool)
删除方法:
1. 删除元素element,则:
(1)vector删除元素的用法:
vi.erase( remove(vi.begin(), vi.end(), element), vi.end() );
(2)list删除元素的用法:
li.remove(element);
(3)map删除元素的用法:
m.erase(element);
2.删除判断函数 bool judge(int) 返回真的元素,则:
(1)vector删除元素的用法:
vi.erase( remove_if(vi.begin(), vi.end(), judge), vi.end() );
(2)list删除元素的用法:
li.remove_if(judge);
(3)map删除元素的用法:
for(auto itor=m.begin(); itor!=m.end(); )
{
if( judge(itor->second) ) // 当erase(itor)后,itor会失效,所以此处要erase(itor++)
m.erase(itor++);
else
++itor;
}