21xrx.com
2024-09-20 06:44:03 Friday
登录
文章检索 我的文章 写文章
C++中的键值对容器
2023-07-11 08:13:58 深夜i     --     --
C++ STL容器 关联容器 map类型 unordered_map类型 键值对数据结构

C++中的键值对容器是一种非常方便的数据结构,它可以用来存储一组具有关联关系的数据。键值对容器由键和值组成,其中键用来标识数据,而值则是与键关联的实际数据。

C++中的键值对容器有很多种,比如map、unordered_map、set等。其中,map是最常用的一种容器,它是一种有序的键值对容器,可以根据键的大小进行排序,查找速度非常快,适合用于大量数据的存储。而unordered_map则是一种无序的键值对容器,不会对键进行排序,查找速度也很快,适合用于快速查找数据。

在使用键值对容器时,我们需要定义键和值的类型,并且需要实现一个比较函数来进行键的比较。以下是一个简单的例子:


#include <iostream>

#include <map>

using namespace std;

bool cmp(const string& s1, const string& s2)

  return s1 < s2;

int main()

{

  map<string, int, decltype(cmp)*> m(cmp);

  m["apple"] = 1;

  m["banana"] = 2;

  m["orange"] = 3;

  for(auto& p : m)

  

    cout << p.first << ":" << p.second << endl;

  

  return 0;

}

在这个例子中,我们定义了一个map容器,它的键是字符串类型,值是整数类型。我们还定义了一个比较函数cmp,用于比较字符串类型的键。在定义map容器时,我们需要将比较函数cmp传递给容器,以进行键的比较。最后,我们向map中插入了三组键值对,并遍历输出了它们的值。

总的来说,C++中的键值对容器是一种非常实用的数据结构,它可以快速地查找和存储一组具有关联关系的数据。在使用键值对容器时,我们需要根据实际需求选择不同的容器类型,并定义好键和值的类型以及比较函数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复