尾部   ==> 添加/删除 快

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

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. liferay增删改简单小练习

    liferay简单增删改 大家都知道,我们每学习一项技能的时候,都会做一些简单的小实例,来检验我们学习成果,这个也不例外. 我建议大家学习完三大框架之后再来看这个demo. 首先:先说一下,零碎的知识 ...

  2. mysql在windows下命令行启动与关闭服务

    一.命令行关闭与启动服务的命令: 二.运行cmd的命令行程序时,必须以管理员身份运行.否则会出现如下提示: 三.mysql5.7版本的服务名一般默认为mysql57,因此如果使用服务名mysql,那么 ...

  3. Verilog篇(四)时序模型

    时序模型:仿真器的时间推进模型,它反映了推进仿真时间和调度事件的方式. 1)门级时序模型:适用于分析所有的连续赋值语句,过程连续赋值语句,门级原语,用户自定义原语. 特点:任意时刻,任意输入变化都将重 ...

  4. zw版【转发·台湾nvp系列Delphi例程】HALCON Roberts1

    zw版[转发·台湾nvp系列Delphi例程]HALCON Roberts1 procedure TForm1.Button1Click(Sender: TObject);var img, img1: ...

  5. jquery ui draggable,droppable 学习总结

    刚接触的时候,分不清draggable和droppable的区别,瞎弄了一会,其实很简单,draggable就是“拖”的功能,droppable就是“放”的功能. draggable()是被拖动的元素 ...

  6. 绘制loss曲线

    第一步保存日志文件,用重定向即可: $TOOLS/caffe train --solver=$SOLVERFILE >& |tee out.log 第二步直接绘制: python plo ...

  7. MyBatis学习笔记(五)——实现关联表查询

    转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4264440.html 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创 ...

  8. nginx 总结

    本文转自:http://freeloda.blog.51cto.com/2033581/1288553 ,感谢大神的辛勤付出! 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之 ...

  9. 联合体union的详解

    1.概述 联合体union的定义方式与结构体一样,但是二者有根本区别. 在结构中各成员有各自的内存空间,一个结构变量的总长度是各成员长度之和.而在“联合”中,各成员共享一段内存空间,一个联合变量的长度 ...

  10. 20165211 2017-2018-2 《Java程序设计》第5周学习总结

    20165211 2017-2018-2 <Java程序设计>第5周学习总结 教材学习内容总结 本周,我学习了书本上第五.六两章的内容,以下是我整理的主要知识. 第五章 内部类与异常类 内 ...