std::deque位于头文件
deque的构造函数:默认构造、copy constructor、move constructor以及列表初始化构造
deque的copy assignment函数:有 default copy assignment 和 move copy assignment
deque的析构函数就有一个默认析构函数,负责销毁元素释放内存
其操作如下:
| empty() | 返回容器是否为空 |
|---|---|
| size() | 返回元素个数 |
| max_size() | 返回元素个数的最大可能量 |
| shrink_to_fit() | 减少容量到符合元素个数 |
| operator==(); | 判断两个deque是否相等,容器内元素相等 |
| operator !=(); | 判断两个deque是否不相等,容器内任一元素不相等即可 |
| operator<() | 返回一个deque是否小于另外一个deque |
| operator>() | 返回一个deque是否大于另外一个deque |
| operator <=() | 返回一个deque是否小于等于另外一个deque |
| operator >=() | 返回一个deque是否大于等于另外一个deque |
| operator [](size_t idx); | 返回索引idx所指的元素 |
| at(size_t idx); | 返回索引idx所指的元素 |
| front() | 返回初始位置的元素 |
| back() | 返回最后位置的元素 |
| begin() | 返回指向首元素的迭代器 |
| end() | 返回指向末元素的迭代器 |
| cbegin() | 返回指向首元素的const迭代器 |
| cend() | 返回指向末元素的const迭代器 |
| rbegin() | 返回反向的指向第一个元素的迭代器 |
| rend() | 返回反向的指向末尾元素的迭代器 |
| crbegin() | 返回反向的指向第一个元素的const迭代器 |
| crend() | 返回反向的指向末尾元素的const迭代器 |
| assign(n,elem) | 复制n个elem |
| assign(begin,end) | 将区间begin到end的元素复制给deque |
| assign(initilist) | 将初值列的元素复制给deque |
| swap() | 两个deque交换数据 |
| push_back() | 在末尾插入一个元素 |
| pop_back() | 移除最后一个元素 |
| push_front() | 头部插入元素 |
| pop_front() | 移除第一个元素 |
| insert() | 在某个位置插入 |
| emplace() | 原地插入 |
| emplace_front() | 在初始位置原地插入 |
| emplace_back() | 在末尾原地插入 |
| erase(pos) | 移除pos位置上的元素 |
| resize(num) | 将元素数量改为num |
| clear() | 移除所有元素,清空容器 |
实例代码如下:
1 |
|