尾部   ==> 添加/删除 快

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

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. PNG格式图片常见转换方法

    前言 最近碰到一个需要将图片由原始的PNG转化为JPG的需求,由于PNG图片本身质量等原因,导致转化为JPG之后,存在失真的问题,后来一个同事分享了下述的HighQualityPNGToJPG方法解决 ...

  2. VS2013密钥(所有版本)

    Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9 Visual Studio Premium 2013 KEY(密钥) ...

  3. C语言typeof详解

    前言:     typeof关键字是C语言中的一个新扩展,这个特性在linux内核中应用非常广泛. 一,说明     typeof的参数可以是两种形式:表达式或类型. 1,表达式的的例子:       ...

  4. Docker深入浅出1

    Docker是一个开源的应用容器引擎,基于GO语言并遵从apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的Linux机器上 ...

  5. 集合框架—常见的Set集合

    list ArrayList 动态数组结构存储,遍历速度快,索引随机访问快,允许多空值 LinkedList 底层数据结构是链表,插入和删除速度快. Vector 数组结构存储,线程安全的,查找速度快 ...

  6. 【Redis学习之二】Redis:redis.conf 配置详解

    参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程  daemonize no2. 当Redis以守护进程方式运行 ...

  7. python类方法、静态方法、实例方法例子

    类方法,静态方法,普通方法 #coding=utf-8   class Foo:     def __init__(self,name):         self.name=name       d ...

  8. python之路----socketserver模块

    socketserver import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): ...

  9. MHA集群(gtid复制)和vip漂移

    在上一片博客中,讲述了怎么去配置MHA架构!这片博客不再细说,只说明其中MySQL主从搭建,这里使用的是gtid加上半同步复制! 步骤与上一片博客一样,不同之处在于MySQL主从的搭建!详细的gtid ...

  10. 20145106 《Java程序设计》第10周学习总结

    教材学习内容总结 什么是计算机网络? 计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享 ...