卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章75987本站已运行4317

C++ 容器类函数的深入分析

c++++ 容器类函数包括:std::vector:push_back():在末尾添加元素pop_back():删除最后一个元素front():获取第一个元素back():获取最后一个元素std::map:insert():插入键值对erase():删除元素find():查找键

C++ 容器类函数的深入分析

C++ 容器类函数的深入分析

容器类是 C++ 标准库中强大而不可或缺的一部分。它们提供了一种管理和存储数据的统一而灵活的方式。本文旨在深入分析 C++ 容器类的主要函数及其在实战中的应用。

std::vector

立即学习“C++免费学习笔记(深入)”;

  • push_back():将元素添加到容器的末尾。
std::vector<int> v;
v.push_back(1);
v.push_back(2);
  • pop_back():从容器末尾删除最后一个元素。
v.pop_back(); // 删除元素 2
  • front():返回容器中第一个元素的引用。
int first_element = v.front(); // 获取元素 1
  • back():返回容器中最后一个元素的引用。
int last_element = v.back(); // 获取元素 1

std::map

  • insert():将键值对插入到容器中,或更新现有的键值对。
std::map<string, int> m;
m.insert(std::pair<string, int>("John", 25));
  • erase():通过键或迭代器从容器中删除元素。
m.erase("John"); // 使用键删除
  • find():返回包含指定键的元素,如果键不存在,则返回结束迭代器。
std::map<string, int>::iterator it = m.find("John");
if (it != m.end()) {
  // 键存在
}

实战案例:

在单词计数程序中,可以使用 std::map 存储单词及其出现频率。

std::map<string, int> word_counts;

while (std::cin >> word) {
  word_counts[word] += 1;
}

std::set

  • insert():插入一个新元素,如果元素已经存在,则不执行任何操作。
std::set<int> s;
s.insert(1);
s.insert(2);
  • erase():通过元素或迭代器从容器中删除元素。
s.erase(1); // 删除元素 1
  • find():返回包含指定元素的迭代器,如果元素不存在,则返回结束迭代器。
std::set<int>::iterator it = s.find(1);
if (it != s.end()) {
  // 元素存在
}

实战案例:

在去重程序中,可以使用 std::set 存储一组数字并自动删除重复项。

std::set<int> s;

while (std::cin >> num) {
  s.insert(num);
}

for (auto it = s.begin(); it != s.end(); it++) {
  std::cout << *it << std::endl;
}
卓越飞翔博客
上一篇: C++ lambda 表达式性能优化技巧
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏