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的更多相关文章
随机推荐
- nltk模块基础操作
几个基础函数 (1)搜索文本:text.concordance(word) 例如,在text1中搜索词”is”在文本中出现的次数以及上下文的词:text1.concordance("is& ...
- testng入门教程1在testng运行一个简单的testcase
在eclips运行java,创建一个Java类文件名TestNGSimpleTest C:\ > TestNG_WORKSPACE import org.testng.annotations. ...
- http 之 HTTP_X_FORWARDED_FOR
原文 http://www.imququ.com/post/x-forwarded-for-header-in-http.html 主题 HTTP Nginx 我一直认为,对于从事 Web 前端开 ...
- C# 实现屏幕截屏
//屏幕宽 int iWidth = Screen.PrimaryScreen.Bounds.Width; //屏幕高 int iHe ...
- cmd重启服务器,有时不想去机房,并且远程桌面连接登录不上了
有时不想去机房,并且远程桌面连接登录不上了,需要远程重启服务器的,这时可以使用命令行方式远程重启.在cmd命令行状态下输入:shutdown -r -m \\192.168.1.10 -t 0 -f ...
- Yosemite安装libv8和therubyracer
yosemite ruby version升级的时候,会碰到类似 Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before b ...
- ActiveMQ 安装以及集群搭建
安装环境: jdk1.7 apache-activemq-5.11.1-bin.tar.gz VM虚拟机redhat6.5-x64:192.168.1.200 Xshell4 部署方案: 主机IP 集 ...
- 利用构建缓存机制缩短Docker镜像构建时间
在使用Docker部署PHP或者node.js应用时,常用的方法是将代码和环境镜像打包成一个镜像然后运行,一些云厂商提供了非常便捷的操作,只需要把我们的代码提交到VCS上,然后它们就会帮我们拉取代码并 ...
- 05: python中的函数
1.1 python 函数 1.函数作用 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得 ...
- 20145307陈俊达《网络对抗》Exp6 信息搜集与漏洞扫描
20145307陈俊达<网络对抗>Exp6 信息搜集与漏洞扫描 基础问题回答 哪些组织负责DNS,IP的管理? 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.D ...