C++ 常用容器及其使用方法


本章内容概述

本文用于笔者记录 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,一个追求不断进步的学生,期待你的关注!

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alkaid3529

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值