C++初学者指南-5.标准库(第一部分)--标准关联容器

C++初学者指南-5.标准库(第一部分)–标准关联容器

快速概览

集合

有序集合 哈希集合
#include #include <unordered_set>
在这里插入图片描述 在这里插入图片描述

set / unordered_set
唯一可排序/可哈希的键
在这里插入图片描述

multiset / unordered_multiset
可能存在多个等效的键
在这里插入图片描述

键值对映射

有序键值对映射 哈希键值对映射
#include #include <unordered_map>
在这里插入图片描述 在这里插入图片描述

映射Maps存储的是std::pair<Key const, Value>
标准库中的关联容器是基于通过指针连接的节点构建的。每个节点存储一个键值对。
std::pair<First,Second> 包含两个不同或相同类型的数值。

#include <utility>
std::pair<int,double> p {4, 8.15};
cout << p.first  <<'\n';   // 4
cout << p.second <<'\n';   // 8.15
// C++17 features:
std::pair p2 {4, 8.15};  // std::pair<int,double>
auto [fst,snd] = p2;    // structured binding
cout << fst <<" "<< snd <<'\n';  // 4 8.15

map<Key,Value> / unordered_map<Key,Value>
唯一可排序/可哈希的键
在这里插入图片描述
multimap<Key,Value> / unordered_multimap<Key,Value>
可能存在多个等效的键
在这里插入图片描述

标准集合和映射是基于节点的

键或键-值对存储在通过指针连接的节点中。
有序集合/映射
通常实现为平衡二叉树
在这里插入图片描述
无序集合/映射
用哈希表实现
在这里插入图片描述

接口:如何使用

备忘录

关联式容器

在这里插入图片描述

std::set<KeyType,Compare>

在这里插入图片描述

std::map<KeyType,MappedType,KeyCompare>

在这里插入图片描述

std::unordered_set<KeyT,Hash,KeyEqual>

在这里插入图片描述

std::unordered_map<KeyT,MappedT,Hash,KeyEqual>

在这里插入图片描述

相关内容

cppreference: 容器库
cppreference: std::set
cppreference: std::map
cppreference: std::unordered_set
cppreference: std::unordered_map
C++漫游:容器和算法
5分钟介绍5种数据结构(by Conor Hoekstra)
关联容器的7个便利函数示例
关联式容器总览表

附上原文链接
如果文章对您有用,请随手点个赞,谢谢!^_^

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 23:18:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 23:18:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 23:18:06       58 阅读
  4. Python语言-面向对象

    2024-07-12 23:18:06       69 阅读

热门阅读

  1. 学习大数据DAY15 PLSQL基础语法4

    2024-07-12 23:18:06       14 阅读
  2. 发改委对招标投标领域问题答复汇总

    2024-07-12 23:18:06       20 阅读
  3. 使用JDBC实现事务管理与隔离级别设置

    2024-07-12 23:18:06       19 阅读
  4. SDK游戏盾、高防IP和高防CDN有什么区别

    2024-07-12 23:18:06       19 阅读
  5. docker compose down -v 是什么意思

    2024-07-12 23:18:06       20 阅读
  6. Perl文件锁机制:守护你的数据安全

    2024-07-12 23:18:06       19 阅读
  7. js面试题2024

    2024-07-12 23:18:06       19 阅读
  8. ArkTS学习笔记_自定义组件

    2024-07-12 23:18:06       23 阅读
  9. Oracle的wrap工具怎么用

    2024-07-12 23:18:06       22 阅读
  10. 昇思25天学习打卡营第18天 | LSTM+CRF序列标注

    2024-07-12 23:18:06       20 阅读
  11. Memcached介绍和详解

    2024-07-12 23:18:06       22 阅读