码迷,mamicode.com
首页 > 编程语言 > 详细

c++容器使用

时间:2018-01-03 22:42:23      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:c++   ++   make   for   mil   参数   cto   font   ase   

插入方法:

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;

               }

c++容器使用

标签:c++   ++   make   for   mil   参数   cto   font   ase   

原文地址:https://www.cnblogs.com/ladawn/p/8185535.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!