vector_01
尾部 ==> 添加/删除 快
头部/中间 ==> 添加/删除 慢
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的更多相关文章
随机推荐
- [lr] 常用快捷键
界面基本操作 F5 : 隐藏/显示上部面板 F6 : 隐藏/显示下部面板 F7 : 隐藏/显示左部面板 F8 ...
- webpack相关
原文 https://segmentfault.com/a/1190000005089993 Webpack是目前基于React和Redux开发的应用的主要打包工具.我想使用Angular 2或其他 ...
- java反射之根据全类名创建对象
现在的需求是根据类的全名.来创建对象 package 中介者设计模式; import java.util.Date; public class CreateObject { public static ...
- GIC400简介
GIC400是arm公司的中断控制IP,提供axi4接口,主要功能: 1)中断的使能(enable,mask); 中断的优先级(poriority); 中断的触发条件(level-sensitive ...
- java常用类总结
0.jar包下载地点 http://mvnrepository.org/ 1.序列化反序列化Object代码 百度云:http://pan.baidu.com/disk/home#list/path= ...
- Sa身份登陆SQL SERVER失败的解决方案
经常使用windows身份登陆,久而久之,基本不动怎么用SQL SERVER身份验证登陆,所以趁着有空,就解决一下一些问题~~ 解决方案: 第一步:打开SSMS,先使用windows身份登陆,右击服 ...
- Python: Flask框架简单介绍
接触Python之后我第一次听说Flask,我就根据自己搜罗的知识尽可能简洁的说出来.如果不准确的地方还请指正,谢谢. Flask是什么? Flask是基于Python编写的微 ...
- Linux基础命令---mknod
mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mknod [选项] ...
- php array_multisort对数据库结果多个字段进行排序
php array_multisort对数据库结果多个字段进行排序$data 数组中的每个单元表示一个表中的一行.这是典型的数据库记录的数据集合. 例子中的数据如下:volume | edition ...
- C++设计模式 之 “状态变化” 模式:State、Memento
“状态变化”模式 在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?“状态变化”模式为这一问题提供了一种解决方案. 典型模式 # state # m ...