c++ 容器常用方法

本文是对C++中STL容器的详细总结,包括顺序容器如array、vector、deque、forward_list和list的共同方法及特性;容器适配器如stack、queue、priority_queue的使用;以及关联容器map、set、multimap、unordered_map、unordered_multimap、multiset和unordered_multiset的基本操作。着重介绍了各容器的增删查改效率和适用场景。
摘要由CSDN通过智能技术生成

  对于C++容器的使用方法,自己一直迷迷糊糊。不是说不理解,只是老是会忘记,所以在这做一个总结,记录下各个容器常用的方法,来提醒自己。

顺序容器

共同方法

   主要是迭代器方面,以及size方法。

//假设容器变量为con

//得到首尾迭代器,返回类型为iterator
con.begin(), con.end();

//得到首尾常量迭代器,返回类型为const_iterator
con.cbegin(), con.cbegin();

//得到首尾逆迭代器,返回类型为reverse_iterator, forward_list没有该方法
con.rbegin(), con.rend();

//得到容器内元素个数,forward_list没有该方法
con.size();

//清空容器,array没有该方法
con.clear();

array

  跟C-Style的数组类似,但更安全,并且可以使用标准算法

//包含头文件
#include <array>

//创建一个固定大小的array,跟数组类似,这个大小不可改变
array<int, 5> ary;

//[]或at访问对应位置的元素,at比[]安全,因为at进行下标检查
ary[0] == ary.at(0);

vector

  向量,动态数组,可自动扩充容量。随机访问快,除尾部之外的增删慢。

//需要包含头文件
#include <vector>

//创建一个可容纳int的vector,其他类型类似
vector<int> vec;

//末尾添加一个元素
vec.push_back(1);

//从末尾删去一个元素
vec.pop_back();

//在指定位置插入一个元素, 第一个元素为vector<int>::const_iterator类型
//insert采用拷贝的方式添加元素,emplace则采用直接构造的方式添加元素
vec.insert(vec.cbegin(), 0);
vec.emplace(vec.cbegin(), 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值