deque_01
A、头尾 添加/移除
A.1、deque::push_back(elemValue);
A.2、deque::pop_back();
A.3、deque::push_front(elemValue);
A.4、deque::pop_front();
B、随机存取
B.1、[?] ==> 越界时,程序 崩溃
B.2、at(?) ==> 越界时,抛异常 out_of_range
C、数据存取
C.1、T deque::front(); // 返回,不可用于设置
C.2、T deque::back(); // 返回,不可用于设置
1、构造函数
1.1、默认构造函数 ==> 无参构造函数
1.2、必定需要 复制构造函数 :deque<T> deqT(const deque& deq);
1.3、deque<T> deqT(iteratorBegin, iteratorEnd); // 迭代器区间[iteratorBegin, iteratorEnd)拷贝给deqT
注意: 这里可以传数组指针,数组指针在特定情况下可以当做迭代器使用
1.4、deque<T> deqT(n, elemValue); // n个elemValue复制给deqT
2、赋值
2.1、重载"="操作符
deque& = const deque& deq;
2.2、void deque<T>::assign(beg, end); // [beg, end)区间拷贝给
2.3、void deque<T>::assign(n, elemValue);// n个elemValue拷贝给
3、迭代器操作
3.1、const_iterator deque<T>::begin(); // 第1个
3.2、const_iterator deque<T>::end(); // 最后1个
3.3、const_reverse_iterator deque<T>::rbegin(); // 倒数第1个
3.4、const_reverse_iterator deque<T>::rend(); // 倒数最后1个
4、插入
注意: 拷贝插入(ZC: 也就是类实例的话,类必须提供复制构造函数)
iterator deque::insert(const_iterator, elemValue); // 返回新元素的位置,拷贝插入
void deque::insert(const_iterator, size_type n, elemValue);
void deque::insert(const_iterator, iterator beg, iterator end); // [beg, end)区间
5、删除
void deque::clear();
iterator deque::erase(const_iterator beg, const_iterator end); // [beg, end)区间,返回下一个元素的位置
iterator deque::erase(const_iterator pos); // 返回下一个元素的位置
6、交换
void deque<T>::swap(deque<T>&);
7、大小
size_type deque<T>::size();
bool deque<T>::empty();
void deque<T>::resize(size_type);
void deque<T>::resize(size_type, elemValue);
8、查找
9、
deque_01的更多相关文章
随机推荐
- OAuth 白话简明教程 3.客户端模式(Client Credentials)
转自:http://www.cftea.com/c/2016/11/6704.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...
- 集合框架—常见的Set集合
list ArrayList 动态数组结构存储,遍历速度快,索引随机访问快,允许多空值 LinkedList 底层数据结构是链表,插入和删除速度快. Vector 数组结构存储,线程安全的,查找速度快 ...
- Intro to Python for Data Science Learning 5 - Packages
Packages From:https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-3-functio ...
- VisualStudio: 窗口背景颜色设置成黑色
Tools>Options>Environment>General >Color theme
- MyEclipse 相关设置
1. MyElipse复制项目后,修改项目的发布名称的方式.右击你的项目,选择 properties -- > MyElipse -- > web,然后修改名称即可. 2. IDE查看源代 ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- 静默文件安装安装WebLogic
一. 本文演示静默文件方式安装 •在Windows上 –打开命令行窗口 –filename.exe -mode=silent -silent_xml=file_path •在 ...
- MySQL数据库----安装
一.基础部分 1.数据库是什么 之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组 ...
- python之路----钻石继承
钻石继承 继承顺序 class A(object): def test(self): print('from A') class B(A): def test(self): print('from B ...
- 【翻唱】Keep On Fighting
http://video.yingtu.co/0/77868591-502c-4af1-853b-d313e83c94a9.mp4 Keep On Fighting