当前位置: 首页 > news >正文

常见容器的方法

常见容器

  • 向量 (vector)
    • 常用方法
    • 代码实例
  • 列表 (list)
    • 常用方法
  • 集合 (set)
    • 常用方法
  • 映射 (map)
    • 方法

向量 (vector)

常用方法

vector::push_back(): 将元素插入向量尾部。
vector::pop_back(): 弹出向量尾部的元素。
vector::insert(): 在指定位置插入元素。
vector::erase(): 删除指定位置的元素。
vector::size(): 返回向量中元素的个数。
vector::empty(): 判断向量是否为空。
vector::clear(): 清空向量中的元素。
vector::begin(): 返回向量的第一个元素的迭代器。
vector::end(): 返回向量的最后一个元素后面一个位置的迭代器。

代码实例


#include <vector>
#include <iostream>using namespace std;int main() {vector<int> v = {1, 2, 3};v.push_back(4); // 向向量尾部插入元素v.insert(v.begin() + 1, 5); // 在指定位置插入元素v.erase(v.begin() + 2); // 删除指定位置的元素for (auto i : v) {cout << i << " ";} // 输出 1 5 2 4cout << "Size: " << v.size() << endl; // 输出 Size: 4v.clear(); // 清空向量中的元素cout << "Empty: " << v.empty() << endl; // 输出 Empty: 1return 0;
}

列表 (list)

常用方法

list::push_back(): 将元素插入列表尾部。
list::push_front(): 将元素插入列表头部。
list::pop_back(): 弹出列表尾部的元素。
list::pop_front(): 弹出列表头部的元素。
list::insert(): 在指定位置插入元素。
list::erase(): 删除指定位置的元素。
list::size(): 返回列表中元素的个数。
list::empty(): 判断列表是否为空。
list::clear(): 清空列表中的元素。
list::begin(): 返回列表的第一个元素的迭代器。
list::end(): 返回列表的最后一个元素后面一个位置的迭代器。

#include <list>
#include <iostream>using namespace std;int main() {list<int> l = {1, 2, 3};l.push_back(4); // 向列表尾部插入元素l.push_front(5); // 向列表头部插入元素l.erase(l.begin() + 2); // 删除指定位置的元素for (auto i : l) {cout << i << " ";} // 输出 5 1 3 4cout << "Size: " << l.size() << endl; // 输出 Size: 4l.clear(); // 清空列表中的元素cout << "Empty: " << l.empty() << endl;}

集合 (set)

常用方法

set::insert(): 插入元素。
set::erase(): 删除指定元素。
set::size(): 返回集合中元素的个数。
set::empty(): 判断集合是否为空。
set::clear(): 清空集合中的元素。
set::begin(): 返回集合的第一个元素的迭代器。
set::end(): 返回集合的最后一个元素后面一个位置的迭代器。

#include <set>
#include <iostream>using namespace std;int main() {set<int> s = {1, 2, 3};s.insert(4); // 插入元素s.erase(2); // 删除指定元素for (auto i : s) {cout << i << " ";} // 输出 1 3 4cout << "Size: " << s.size() << endl; // 输出 Size: 3s.clear(); // 清空集合中的元素cout << "Empty: " << s.empty() << endl; // 输出 Empty: 1return 0;
}

映射 (map)

方法

map::insert(): 插入键值对。
map::erase(): 删除指定键对应的值。
map::find(): 查找指定键对应的值。
map::size(): 返回映射中键值对的个数。
map::empty(): 判断映射是否为空。
map::clear(): 清空映射中的键值对。
map::begin(): 返回映射的第一个键值对的迭代器。
map::end(): 返回映射的最后一个键值对后面一个位置的迭代器。

#include <map>
#include <iostream>using namespace std;int main() {map<string, int> m = {{"A", 1}, {"B", 2}, {"C", 3}};m.insert({"D", 4}); // 插入键值对m.erase("B"); // 删除指定键对应的值auto it = m.find("A"); // 查找指定键对应的值if (it != m.end()) {cout << "A: " << it->second << endl; // 输出 A: 1}for (auto p : m) {cout << p.first << ": " << p.second << endl;} // 输出 A: 1 C: 3 D: 4cout << "Size: " << m.size() << endl; // 输出 Size: 3m.clear(); // 清空映射中的键值对cout << "Empty: " << m.empty() << endl; // 输出 Empty: 1return 0;
}

以上是常用的 STL 容器及其常用方法的介绍和示例代码。使用 STL 容器能够大大简化程序的开发和维护,建议在学习 C++ 的过程中深入学习和掌握。

http://www.lryc.cn/news/61356.html

相关文章:

  • 【Linux】线程
  • ASP.NET Core MVC 从入门到精通之wwwroot和客户端库
  • Oracle OCI 修改 Compute Instance Hostname
  • 垃圾收集算法面试总结
  • grep替换指定字符串方法
  • 主从模式、哨兵模式、集群模式(cluster)
  • 题目3180:蓝桥杯2023年第十四届省赛真题-互质数的个数======及探讨互质专题
  • Java 文件操作
  • 二叉树OJ题(C++实现)
  • grep -nr 命令查询字符串方式
  • AgentAI+ChatGPT给出答案-为什么即时通讯需要心跳
  • 跨平台跨端的登录流程及其安全设计
  • 如何在Java中创建临时文件?
  • Vue表单基本操作-收集表单数据
  • Android 一个获取网址时间的Demo
  • ijkplayer解码流程源码解读
  • 2023年值得关注的3个品牌趋势,帮你弯道超车
  • 软考-高级项目管理(二十)
  • RTMP协议深度解析:从原理到实践,掌握实时流媒体传输技术
  • 2023mathorcup数学建模ABCD思路分析
  • 普通家庭,千万不要投入大量时间和金钱,让孩子去苦学和培养AI机器人编程了...
  • C++学习(day2)
  • 软考 - IP地址与网络划分
  • Apifox软件的基础使用方式
  • 【Tensorflow】模型如何加载HDF文件数据集?
  • 校招又临近了,怎么在面试中应对设计模式相关问题呢?
  • padans关于数据处理的杂谈
  • 神经网络的理解
  • 夏驰和徐策带你从零开始学数据结构——哈希表
  • linux实现网络程序