21xrx.com
2024-11-05 20:32:54 Tuesday
登录
文章检索 我的文章 写文章
C++如何定义字典?
2023-07-08 22:11:34 深夜i     --     --
C++ 定义 字典

C++是一种强大的编程语言,它提供了许多数据结构和算法来处理和操作数据。其中一个重要的数据结构是字典,也称为关联数组或哈希表。字典旨在将键映射到值,使得可以通过键来访问值。

在C++中,可以使用std::map或std::unordered_map定义字典。这两个容器在语法和使用方式上略有不同,下面将分别进行介绍。

1. std::map

std::map是一个有序的关联容器,它使用红黑树作为底层实现。std::map中的元素按照键的大小进行排序,因此可以进行快速的查找、插入、删除等操作。以下是定义一个std::map的示例:


#include <map>

using namespace std;

int main()

{

  map<string, int> myMap; // 定义一个std::map,键为string,值为int

  myMap["John"] = 25;   // 按键插入元素

  myMap["Lisa"] = 30;

  myMap["Tom"] = 20;

  cout << "John's age is " << myMap["John"] << endl; // 访问元素

  return 0;

}

输出:


John's age is 25

2. std::unordered_map

std::unordered_map是一个哈希表,它使用哈希函数对键进行散列,以便快速地查找、插入、删除元素。与std::map不同的是,std::unordered_map不会对元素进行排序,因此查询速度可能更快,但是空间占用会更多。以下是定义一个std::unordered_map的示例:


#include <unordered_map>

using namespace std;

int main()

{

  unordered_map<string, int> myMap; // 定义一个std::unordered_map,键为string,值为int

  myMap["John"] = 25;   // 按键插入元素

  myMap["Lisa"] = 30;

  myMap["Tom"] = 20;

  cout << "John's age is " << myMap["John"] << endl; // 访问元素

  return 0;

}

输出:


John's age is 25

总的来说,在C++中定义字典有两种常用方式:std::map和std::unordered_map。选择哪种容器取决于具体的需求,需要根据实际情况进行选择。

  
  
下一篇: C++中的log函数

评论区

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