尾部   ==> 添加/删除 快

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

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. 机器学习理论基础学习5--- PCA

    一.预备知识 减少过拟合的方法有:(1)增加数据 (2)正则化(3)降维 维度灾难:从几何角度看会导致数据的稀疏性 举例1:正方形中有一个内切圆,当维度D趋近于无穷大时,圆内的数据几乎为0,所有的数据 ...

  2. C#调用VP 包含素材

    VS2012 +VP9.0 ***************** 自己运行的时只要修改VP里面素材的路径即可 链接: https://pan.baidu.com/s/1J6Bc5FcBYLZLgqe30 ...

  3. unp第七章补充之TCP半开连接与半闭连接

    半打开(Half-Open)连接和半关闭(Half-Close)连接.TCP是一个全双工(Full-Duplex)协议,因此这里的半连接"半"字就是相对于全双工的"全&q ...

  4. vs调试程序时发现变量、类等程序找不到混乱问题

    vs中不能同时打开两个解决方案名称相同的程序,否则会运行时出现混乱,比如变量监测不到,类的属性不全等问题

  5. Zooming

    Zooming 是一款纯 javascript 图片缩放库,主要特点有: 不依赖其他库,纯 JavaScript 实现,支持移动设备: 流畅的动画: 可缩放高清图像: 易于集成和定制. 使用方法 1. ...

  6. Centos下使用php调用shell脚本

    我们在实际项目中或许会遇到php调用shell脚本的需求.下面就用简单案例在Centos环境下实践 准备 查看php.ini中配置是否打开安全模式 //php.ini safe_mode = //这个 ...

  7. C# 计算传入的时间距离今天的时间差

    /// <summary> /// 计算传入的时间距离今天的时间差 /// </summary> /// <param name="dt">&l ...

  8. Python3基础 str casefold 返回全是小写字母的新字符串

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. word2vec 中的数学原理详解(一)目录和前言【转】

    本文转载自:https://blog.csdn.net/itplus/article/details/37969519 word2vec 是 Google 于 2013 年开源推出的一个用于获取 wo ...

  10. c++类定义代码的分离

    类文件 实际工程中,对一个类的说明.架构.描述方法是:    往往分成头文件和实现的源文件,来实现代码的分离 然后,源文件中包含类的头文件... 头文件的包含问题: 类对应的实现文件cpp.main主 ...