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的更多相关文章
随机推荐
- unity3d-射线(Ray)
射线Ray 射线是一个点向另外一个点发生的一条线,一旦与其他模型发生碰撞,他将停止发射.注意这条件是逻辑上的,界面上看不到. 一般使用射线判断是否发射至某个游戏对象上或者获得鼠标点击的游戏对象等. 用 ...
- Android下基于线程池的网络访问基础框架
引言 现在的Android开发很多都使用Volley.OkHttp.Retrofit等框架,这些框架固然有优秀的地方(以后会写代码学习分享),但是我们今天介绍一种基于Java线程池的网络访问框架. 实 ...
- Summary: Lowest Common Ancestor in a Binary Tree & Shortest Path In a Binary Tree
转自:Pavel's Blog Now let's say we want to find the LCA for nodes 4 and 9, we will need to traverse th ...
- [SQL入门级] 这篇咱'薄利多销',记录多一点
这个系列的博文知识回顾sql知识作的记录,温故而知新.上一篇内容达不到知识分享的层级被移出园子首页,对不住各位看官,内容简单了些.下面咱就记录多一些的基础知识,薄利多销: 控制用户权限 • 创建用户 ...
- Struts2 Spring Hibernate 框架整合 Annotation MavenProject
项目结构目录 pom.xml 添加和管理jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...
- 04:sqlalchemy操作数据库
目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...
- 20145122《Java程序设计》第七周学习总结
教材学习内容总结 1.在只有Lambda表达式的情况下,参数的类型必须写出来. 2.Lambda表达式本身是中性的,同样的Lambda表达式可用来表示不同目标类型的对象操作. 3.Lambda表达式只 ...
- 20145317《网络对抗》shellcode注入&Return-to-libc攻击深入
20145317<网络对抗>shellcode注入&Return-to-libc攻击深入 学习任务 shellcode注入:shellcode实际是一段代码,但却作为数据发送给受攻 ...
- 20145335郝昊《网络攻防》Exp5 MS08_067漏洞测试
20145335郝昊<网络攻防>Exp5 MS08_067漏洞测试 实验内容 了解掌握metasploit平台的一些基本操作,能学会利用已知信息完成简单的渗透操作. 漏洞MS08_067: ...
- 20145336 张子扬 《网络对抗技术》web基础
20145336张子扬<网络对抗>Exp8 Web基础 实践内容 1.简单的web前端页面(HTML.CSS等) 2.简单的web后台数据处理(PHP) 3.Mysql数据库 4.一个简单 ...