6.STL 容器常用操作速查表
STL容器常用操作速查表
|
操作类型 |
std::vector(动态数组) |
std::string(字符串) |
std::map<K,V>(有序键值对) |
|
头文件 |
|
|
|
|
创建容器 |
|
|
|
|
添加元素 |
1. 尾部添加: |
1. 拼接: |
1. 直接赋值: |
|
访问元素 |
1. 下标访问: |
1. 下标访问: |
1. 下标访问: |
|
修改元素 |
|
|
|
|
删除元素 |
1. 尾部删除: |
1. 尾部删除: |
1. 按键删除: |
|
获取长度 |
|
|
|
|
遍历元素 |
// 方式1:范围for |
// 范围for |
// 范围for(pair.first=键,pair.second=值) |
|
查找元素 |
// 需包含 |
// 查找子串位置 |
// 按键查找(核心方式) |
关键补充说明
- 迭代器通用规则:所有STL容器的迭代器都遵循
begin()(起始位置)、end()(末尾下一位)规则,end()不指向有效元素,仅作为结束标记; - map的特殊点:
mp[key]是“读写一体”,读取不存在的键会自动插入该键并赋值默认值(如string为空、int为0),因此只读时优先用find(); - 空容器判断:所有容器都可用
empty()判断是否为空,比size() == 0更高效; - Qt容器适配:Qt的QVector/QString/QMap操作和上表几乎一致,仅需替换:
-
- 头文件:
<QVector>/<QString>/<QMap> - 输出:用
qDebug()替代cout,如qDebug() << vec[0]; - 特有添加方式:
vec << 1 << 2;(Qt容器支持)
- 头文件:
总结
- 核心操作(创建、添加、访问、遍历、清空)在不同容器中逻辑统一,仅语法细节有差异;
- vector/string侧重“有序列表操作”,map侧重“键值对的键查找/删除”;
- 遍历优先用范围for(简洁),需要精准控制位置时用迭代器;
- 查找操作中,string用
find()、map用find()、vector需配合<algorithm>的std::find()。
更多推荐
所有评论(0)