文章目录
C++容器汇总
前言
同学们在学习C++的容器时,不免会发现,其操作大体一致,无非是不同的容器有自身属性上的一点点区别,下面我就和大家总结一下吧!
一.string 容器
string容器中就是函数调用,这里就简单的列出来吧
操作 | 函数 | 符号 |
---|---|---|
赋值 | .assign() | = |
拼接 | .append() | += |
查找 | .find() | |
替换 | .replace() | |
比较 | .compare() | == != |
存取 | .at() | [ ] |
插入 | .insert() | |
删除 | .erase() | |
截取 | .substr() |
二.vector容器
vector容器又称为单端数组 ,允许随机访问
操作 | 函数 | 说明 |
---|---|---|
尾增 | .push_back() | |
尾删 | .pop_back() | |
头增 | .push_front() | |
头删 | .pop_front() | |
插入 | .insert() | 迭代器+数据 |
删除 | .erase() | 迭代器指位置 |
存取 | .at() | 也可用 [ ] 号 |
判空 | .empty() | 返回bool型 |
容量 | .capacity() | |
大小 | .size() | 返回int型 |
重定大小 | .resize() | |
交换 | .swap() | |
清除 | .clear() | |
反转 | .reverse() | |
排序 | sort() | 全局函数 |
三.deque容器
deque容器又称为双端数组,以数组为节点,链表一样串起来的结构,允许随机访问,但没有容量的概念
操作 | 函数 | 说明 |
---|---|---|
尾增 | .push_back() | |
尾删 | .pop_back() | |
头增 | .push_front() | |
头删 | .pop_front() | |
插入 | .insert() | 迭代器+数据 |
删除 | .erase() | 迭代器指位置 |
存取 | .at() | 也可用 [ ] 号 |
判空 | .empty() | 返回bool型 |
大小 | .size() | 返回int型 |
交换 | .swap() | |
清除 | .clear() | |
反转 | .reverse() | |
排序 | sort() | 全局函数 |
四.stack容器
stack是一种先进后出的容器,数据结构为链表
操作 | 函数 | 说明 |
---|---|---|
入栈 | .push() | |
出栈 | .pop() | |
栈顶 | .top() | |
判空 | .empty() | 返回bool型 |
栈大小 | .size() | 返回int型 |
五.queue容器
操作 | 函数 | 说明 |
---|---|---|
入队列 | .push() | |
出队列 | .pop() | |
队首 | .front() | |
队尾 | .back() | |
判空 | .empty() | 返回bool型 |
队列长度 | .size() | 返回int型 |
六.list容器
list容器相当于一个双向链表,链表并不是连续的存储空间,因此list的迭代器只支持前移和后移
操作 | 函数 | 说明 |
---|---|---|
尾增 | .push_back() | |
尾删 | .pop_back() | |
头增 | .push_front() | |
头删 | .pop_front() | |
插入 | .insert() | 迭代器+数据 |
删除 | .erase() | 迭代器指位置 |
.remove() | 可直接指定元素 | |
存取 | .at() | 也可用 [ ] 号 |
判空 | .empty() | 返回bool型 |
大小 | .size() | 返回int型 |
交换 | .swap() | |
清除 | .clear() | |
反转 | .reverse() | |
排序 | .sort() | 成员函数,仿函数定排序规则 |
七.set/multiset容器
set/multiset(数据可重复)容器的底层由二叉树实现
操作 | 函数 | 说明 |
---|---|---|
数据插入 | .insert() | 没有pushback用 |
判空 | .empty() | 返回bool型 |
大小 | .size() | 返回int型 |
交换 | .swap() | |
删除 | .erase() | 迭代器或数指定 |
清除 | .clear() | |
查找 | .find() | 返回迭代器 |
统计 | .count() | 返回int型 |
八.map/multimap容器
map/multimap(键值可重复)容器,所有元素都是pair类型成对存在,pair( 键值 ,实值 ),键值相当于索引
其底层也是由二叉树实现
操作 | 函数 | 说明 |
---|---|---|
数据插入 | .insert(第一种) | pair<类型,类型>(键值,实值) |
.insert(第二种) | make_pair(键值,实值)* | |
插入和访问 | 名字[位置] | 可插入也可访问 |
判空 | .empty() | 返回bool型 |
大小 | .size() | 返回int型 |
交换 | .swap() | |
删除 | .erase() | 迭代器或数指定 |
清除 | .clear() | |
查找 | .find() | 返回迭代器 |
统计 | .count() | 返回int |
本文含有隐藏内容,请 开通VIP 后查看