尾部   ==> 添加/删除 快

头部/中间  ==> 添加/删除 慢

A、尾部 添加/移除:

  void vector::push_back();

  void vector::pop_back();

B、随机存取

  B.1、[?]   ==> 越界时,程序 崩溃

  B.2、at(?)  ==> 越界时,抛异常 out_of_range

C、数据存取

  C.1、T vector::front();  // 第一个 (既可用于返回,也可以用于设置)

  C.2、T vector::back();  // 最后一个(既可用于返回,也可以用于设置)

1、构造函数

  1.1、默认构造函数 ==> 无参构造函数

  1.2、必定需要 复制构造函数 :vector<T> vecT(const vector& );

  1.3、vector<T> vecT(iteratorBegin, iteratorEnd);  // 迭代器区间[iteratorBegin, iteratorEnd)拷贝给vecT

    注意: 这里可以传数组指针,数组指针在特定情况下可以当做迭代器使用

  1.4、vector<T> vecT(n, elemValue);  // n个elemValue复制给vecT

2、赋值

  2.1、重载"="操作符

      vector& = const vector& vec;

  2.2、void vector<T>::assign(beg, end);  // [beg, end)区间拷贝给

  2.3、void vector<T>::assign(n, elemValue);// n个elemValue拷贝给

3、迭代器操作

  3.1、const_iterator vector<T>::begin();  // 第1个

  3.2、const_iterator vector<T>::end();  // 最后1个

  3.3、const_reverse_iterator vector<T>::rbegin();  // 倒数第1个

  3.4、const_reverse_iterator vector<T>::rend();  // 倒数最后1个

4、插入

  注意: 拷贝插入(ZC: 也就是说 插入容器的元素是 类实例的话,类必须提供复制构造函数)
  iterator vector::insert(const_iterator, elemValue);       // 返回新元素的位置,拷贝插入
  void vector::insert(const_iterator, size_type n, elemValue);
  void vector::insert(const_iterator, iterator beg, iterator end); // [beg, end)区间

5、删除

  void vector::clear();
  iterator vector::erase(const_iterator beg, const_iterator end); // [beg, end)区间,返回下一个元素的位置
  iterator vector::erase(const_iterator pos);           // 返回下一个元素的位置

6、交换

  void vector<T>::swap(vector<T>&);

7、大小

  size_type vector<T>::size();
  bool vector<T>::empty();
  void vector<T>::resize(size_type);
  void vector<T>::resize(size_type, elemValue);

8、查找

vector_01的更多相关文章

随机推荐

  1. javascript console自动点击页面元素

    原文地址https://jingyan.baidu.com/article/0a52e3f41c0b0abf63ed726d.html 这里拿百度音乐VIP兑换页面来做演示. 首先打开百度音乐VIP兑 ...

  2. EF5.0区别于EF4.0的增删改写法

    // 实现对数据库的添加功能,添加实现EF框架的引用 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T& ...

  3. BCB ERROR:[Linker Error] 'XXX.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

    今天C++builder 导入 gts .lib  (gts.dll)库文件 编译报错: [Linker Error] 'D:\...\V4.05.007.1000-20161028\GTS.LIB' ...

  4. HashMap(JDK1.9)详解

    一.HashMap的概念. 1.HashMap类的继承实现关系如下:因此HashMap的功能有:可序列化.可克隆等功能. 2.HashMap的数据结构:数组+链表+红黑树. 3.键值对的存储方案:第一 ...

  5. Object-C-复制

    copy 减少对象上下文依赖 copy 创建一个新对象,copy得到的副本对象与原来内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化 使用 copy 创建出来的对象是不可 ...

  6. windows系统bat方式启动tomcat出现java.lang.OutOfmemoryError:PermGen Space 错误

    1.问题情景: 在部署项目时,将两个应用部署到同一个tomcat下,通过startup.bat启动服务时,控制台出现出现java.lang.OutOfmemoryError:PermGen Space ...

  7. Splay简介

    Splay树,又叫伸展树,可以实现快速分裂合并一个序列,几乎可以完成平衡树的所有操作.其中最重要的操作是将指定节点伸展到指定位置, 目录 节点定义 旋转操作 伸展操作 插入操作 删除操作 lower_ ...

  8. VC++ 利用CreateFile、ReadFile和WriteFile实现CopyFile

    1. CreateFile:这是一个多功能的函数,可打开或创建以下对象,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道. 参照:http://www.cppblo ...

  9. FTP-IIS Web

    快速搭建一个本地的FTP服务器   如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. 第一步:配置IIS Web服务器 1.1 控制面板中找到“程序”并打开 1 ...

  10. IntelliJ IDEA 连接数据库 详细过程

    IntelliJ IDEA集成了众多插件,方便开发者使用,使用其自带的Database模块就可以很方便的配置.连接到数据库,本次操作以MySQL为例,其中testjdbc数据库已经提前建好,里面有两张 ...