zoukankan      html  css  js  c++  java
  • C++容器——插入与清除

    一、顺序容器
    顺序容器插入操作:

    insert:
    有几个不同的成员函数能实现想顺序容器中插入项目。最重要的函数是insert,有下面三种重载形式:
        iterator insert(iterator here,value_type const& item)//在指定位置前插入item,并返回新插入项目的迭代器。
        void insert(iterator here,size_type n,value_type const& item)//在指定位置前插入n个item副本
        template<class inputIterator>
        void insert(iterator here,inputIterator first,inputIterator last)//将范围[first,last)的值直接复制到容器中here之前。
    其他:
    还有两个函数:push_front:在容器头部插入项目,push_back在容器尾部插入项目。容器类型只会提供能用常数复杂度实现的函数,因此,vector提供push_back但没有push_front,而list和deque同时提供push_front和push_back。

    顺序容器的清楚操作:
    erase:两种erase形式:
    iterator erase(iterator pos)//清楚pos所指向的项目,并返回其后继项目的迭代器。
    iterator erase(iterator first,iterator last)//清楚范围[first,last)的全部项目,并返回指向最后一个删除项目的后一项目的迭代器。
    clear:
    会清除容器内所有项目。
    其他:
    除了这两个基本的清除函数外,顺序容器还使用pop_front来清除容器头部的项目,pop_back清除尾部的项目。
    类似push函数,vector提供了pop_back,而list和deque均提供pop_back和pop_front。

    二、关联容器
    插入操作:

    insert:
        关联容器的插入操作函数insert存在几种形式,和顺序容器的主要区别在于,它不需要提供一个位置(有一种形式需要提供一个提示性的位置)。insert的行为与容器是否允许重复项目有关。类型set、map、unordered_set、unordered_map要求唯一键,而multiset、multimap、unordered_multiset和unordered_multiset允许重复键。
        interator insert(value_type const& iterm)
        std::pair<iterator,bool>insert(value_type const& item)
    它会试图把item插入到容器中。如果容器允许重复键,则insert一定成功,并返回指向新插入项目的迭代器;而如果容器要求唯一键,则仅当该项目不在容器中时才插入成功。它返回包含一个迭代器和一个bool类型的pair,item被插入是bool为真。
        iterator insert(iterator hint,value_type const& item)
    它会尝试把item插入到容器中,如果容器允许重复键,则insert一定会成功;否则仅当该项不在容器中时insert才会插入该项。在两种情况下insert均会返回指向新插入项目或已存在的项目的迭代器。
        template<class inputInterator>
        void insert(inputIterator first,inputIterator last)
    它会把范围[first,last)的值复制到容器中,对于有序容器,如果范围[first,last)有序,则性能有所提高。
    清除操作:
    erase:
    void erase(iterator pos)
    iterator erase(iterator pos)
    清楚pos指向的项目。有序容器没有返回值,无序容器返回后继迭代器(或者为end())。

    void erase(iterator first,iterator last)
    iterator erase(iterator first,iterator last)
    清楚范围[first,last)的全部项目。有序容器没有返回值,无序容器返回指向最后一个删除项目的后一项目的迭代器。

  • 相关阅读:
    js 日期插件 datepicker
    Yii 安装二维码扩展Qrcode
    Yii2 验证码
    Yii 通过composer 安装的方法
    JQery icheck 插件
    Yii 设置 flash消息 创建一个渐隐形式的消息框
    Yii2 自动更新时间created_at updated_at
    MySQL 安装与使用(二)
    MySQL 安装与使用(一)
    Nginx使用(配置开机启动)
  • 原文地址:https://www.cnblogs.com/lemon0823/p/2876211.html
Copyright © 2011-2022 走看看