本章内容概述
本文用于笔者记录 C++ 常用容器及其使用方法,根据笔者的习惯,对常见的容器的使用方法进行汇总和记录,方便后续查找和使用,笔者会逐渐进行完善。
一、Vector
关于 Vector 容器的常用函数。
1. 构造函数
创建 Vector 容器:
// 创建一个空vector
vector<int> cac;
// 创建一个vector,元素个数为nSize
vector<int> cac(int nSize);
// 创建一个vector,元素个数为nSize,且值均为t
vector<int> cac(int nSize, int t);
2. 增加函数
向容器内增加元素:
// 向量尾部增加一个元素X
cac.push_back(const T& x);
// 向量中迭代器指向元素前增加一个元素x
cac.insert(iterator it, const T& x);
// 向量中迭代器指向元素前增加n个相同的元素x
cac.insert(iterator it,int n,const T& x);
3. 删除函数
删除容器内的元素:
// 删除向量中最后一个元素
cac.pop_back();
// 清空向量中所有元素
cac.clear();
// 删除向量中迭代器指向元素
cac.erase(iterator it);
// 删除向量中[first,last)中元素
cac.erase(iterator first,iterator last);
4. 属性函数
判断容器内部状态:
// 判断向量是否为空
cac.empty();
// 返回向量中元素的个数
cac.size();
// 返回当前向量所能容纳的最大元素值
cac.capacity();
二、Unordered_map
unordered_map,可以快速查找 key 对应的 value,其中 key 值不允许重复。
1. 构造函数
// 创建容器
unordered_map<int, int> cac;
2. 增加函数
// 若存在 key,则返回对应的 value,否则自动添加
cac[key]
3. 删除函数
// 清空容器
cac.clear();
4. 属性函数
// 查找 key,查找到返回对应迭代器,否则返回末尾迭代器
cac.find(key);
// 判断容器是否为空
cac.empty();
// 返回容器当前存储键值对数量
cac.size();
三、Stack
后进先出的容器,Stack 基本操作。
1. 构造函数
// 创建容器
stack<int> cac;
2. 访问方式
// 返回栈顶元素,栈为空则非法
cac.top();
3. 增加函数
// 向栈顶压入一个元素
cac.push();
4. 删除函数
// 弹出栈顶元素
cac.pop();
5. 属性函数
// 判断栈是否为空
cac.empty();
// 返回栈内当前存储数量
cac.size();
四、Queue
队列相关函数。
// 定义一个队列
queue<int> cac;
// 返回第一个元素引用
cac.front()
// 返回最后一个元素引用
cac.back()
// 添加元素到队列尾部
cac.push();
// 删除第一个元素
cac.pop();
// 返回当前元素数量
cac.size();
// 是否为空
cac.empty()
N、库函数
1. 排序函数
// 将迭代器区间内的元素排序
sort(cac.begin(), cac.end());
2. 交换函数
// 交换两个位置的元素
swap(cac[v1], cac[v2]);
本章总结
本章主要收集标准模板库中的常用容器,以备查找使用。
最后,我是Alkaid#3529,一个追求不断进步的学生,期待你的关注!