C++容器汇总

发布于:2022-11-01 ⋅ 阅读:(275) ⋅ 点赞:(0)

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 后查看