尾部   ==> 添加/删除 快

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

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. 1.keras实现-->自己训练卷积模型实现猫狗二分类(CNN)

    原数据集:包含 25000张猫狗图像,两个类别各有12500 新数据集:猫.狗 (照片大小不一样) 训练集:各1000个样本 验证集:各500个样本 测试集:各500个样本 1= 狗,0= 猫 # 将 ...

  2. numpy中的广播(Broadcasting)

    Numpy的Universal functions 中要求输入的数组shape是一致的,当数组的shape不相等的时候,则会使用广播机制,调整数组使得shape一样,满足规则,则可以运算,否则就出错 ...

  3. git客户端msysGit和TortoiseGit使用

    windows下使用TortoiseGit代替Git命令行操作(参考http://www.cnblogs.com/candle806/p/4071656.html) 1.配置TortoiseGit与m ...

  4. selenium WebDriver处理文件下载

    下载文件WebDriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中.下面以FireFox 为例执行文件的下载. package com.mypro.jase; ...

  5. python 安装 Scrapy 模块

    环境的安装总是让人多愁善感,爱恨交叉... 本人安装环境:win7 64 + python2.7 先来几个网站 https://doc.scrapy.org/en/latest/intro/insta ...

  6. 关于gg_bd_ad_720x90.js和follow.js

    很多人对gg_bd_ad_720x90.js和follow.js 抱有疑问,这是个什么鬼? 我也迷惑了一阵子,今天偶然发现了这两个源文件. 大家一起欣赏下. 注意红色加粗代码. 1.follow.js ...

  7. html5设置全屏模式--开发游戏必备

    <!-- uc强制竖屏 --> <meta name="screen-orientation" content="portrait"> ...

  8. Python中的is和==的区别,==判断值是否相等,is判断地址是否一致

    Python中的is和==的区别 Python中的对象包含三要素:id.type.value. 其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是 ...

  9. 通过Java 线程堆栈进行性能瓶颈分析

    改善性能意味着用更少的资源做更多的事情.为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算, ...

  10. 浏览器内核、排版引擎、js引擎

    [定义] 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”.负责对网页语法的解释(如标准通用标记语 言下的一个应用HT ...