目录
一.vector容器
1.构造函数
2.赋值
3.容量与大小
4.插入与删除
5.数据读取
6.排序
二.deque容器(同vector)
新特性:
删除特性:
三.stack容器
四.queue容器(同stack)
五.list容器(同deque)
新特性
六.set容器(不允许插重复值)
1.构造和赋值
2.大小
3.插入、删除与查找
4.自定义排序
七.map容器(元素为对组)
1.构造和赋值
2.大小
3.插入、删除和查找
4.排序
一.vector容器
1.构造函数
vector<T> v | 默认构造函数 |
vector<T> u (v.begin() , v.end()) | 将v[begin,end)区间的元素赋值给u |
vector<T> v (n,elem) | 将n个elem赋值给v |
vector<T> u (v) | 拷贝构造函数 |
2.赋值
vector& operator=(const vector<T>&v) | 等号运算符重载 |
u.assign(v.begin() , v.end()) | 将v[begin,end)赋值给u |
u.assign(n , elem) | 将n个elem赋值给u |
3.容量与大小
empty() | 判断容器是否为空 |
capacity() | 获取容器容量 |
size() | 获取容器元素个数 |
resize(int num) | 容器大小,若变小,则截断;若变大,则填充默认值 |
resize(int num , int elem) | 同上,以elem元素填充 |
4.插入与删除
push_back(elem) | 尾部插入元素elem |
pop_back() | 尾部删除元素 |
insert(const_iterator pos , elem) | 在迭代器pos前插入elem元素 |
insert(const_iterator pos , int num , elem) | 在迭代器pos前插入num个elem元素 |
insert(const_iterator pos , const_iterator begin , const_iterator end) | 在迭代器pos前插入[begin,end)区间的元素 |
erase(const_iterator begin , const_iterator end) | 删除迭代器[begin,end)之间的元素 |
erase(const_iterator pos) | 删除迭代器pos指向元素 |
clear() | 清除所有元素 |
5.数据读取
at(int index) | 返回index所指数据 |
operater[ ] | 运算符重载,返回索引所指数据 |
front() | 返回第一个元素 |
back() | 返回最后一个元素 |
6.排序
导入头文件
#include<algorithm>
sort(const_iterator begin , const_iterator begin) | 对[begin,end)元素升序排序 |
二.deque容器(同vector)
新特性:
push_front(elem) | 头部插入元素 |
pop_front(elem) | 头部删除元素 |
删除特性:
删除函数 capacity( )
三.stack容器
stack<T> s | 默认构造函数 |
stack(const stack&s) | 拷贝构造函数 |
stack& operator=(const stack&s) | 重载赋值符号 |
push(elem) | 入栈 |
pop() | 出栈 |
top() | 返回栈顶元素 |
empty() | 判断是否为空 |
size() | 返回栈元素个数 |
四.queue容器(同stack)
注意:
front()返回队列头元素
五.list容器(同deque)
新特性
未重载运算符 [ ] |
remove(elem) | 删除链表中与elem相同的元素 |
reverse() | 反转链表 |
l.sort() | 升序排序(非全局函数) |
l.sort(cmp) | 制定排序方式(非全局函数) |
六.set容器(不允许插重复值)
1.构造和赋值
set<T> s | 默认构造函数 |
set(const set&s) | 拷贝构造函数 |
sst& operator=(const set&s) | 重载赋值符号 |
2.大小
empty() | 判断是否为空 |
size() | 返回set元素个数 |
3.插入、删除与查找
insert(elem) | 插入elem元素 |
erase(const_iterator begin , const_iterator end) | 删除迭代器[begin,end)之间的元素 |
erase(const_iterator pos) | 删除迭代器pos指向元素 |
erase(elem) | 删除elem元素 |
clear() | 清除所有元素 |
find(key) | 查找是否存在键值为key的元素,并返回该元素迭代器,不存在返回end() |
4.自定义排序
class myCmp {
public:
bool operator()(int a, int b) const{
return a < b;
}
};
int main() {
set<int, myCmp> s;
return 0;
};
七.map容器(元素为对组)
1.构造和赋值
map<T,T>m | 默认构造函数 |
map(const map&m) | 拷贝构造函数 |
operator=(const map&m) | 赋值运算符重载 |
2.大小
empty() | 判断是否为空 |
size() | 返回map元素个数 |
3.插入、删除和查找
insert(elem) | 插入elem元素 |
erase(const_iterator begin , const_iterator end) | 删除迭代器[begin,end)之间的元素 |
erase(const_iterator pos) | 删除迭代器pos指向元素 |
erase(key) | 删除键值为key的元素 |
clear() | 清除所有元素 |
find(key) | 查找是否存在键值为key的元素,并返回该元素迭代器,不存在返回end() |
4.排序
参照set容器排序方法,不再赘述。注意,排序是针对键值排序!