21xrx.com
2025-04-08 05:45:54 Tuesday
文章检索 我的文章 写文章
C++中的Map和Set数据结构介绍
2023-07-05 11:15:09 深夜i     14     0
C++ Map Set 数据结构 介绍

C++中的Map和Set数据结构是常用的STL容器,可以帮助程序员快速地存储和操作数据。本文将介绍Map和Set的使用方法以及一些常见的应用场景。

Map是一种关联容器,存储的数据以键值对的形式存在。Map中的数据是按照键的顺序自动排序的,因此可以快速地进行查找、插入和删除操作。Map中的键和值的类型可以自定义,只需要定义一个比较函数来确保键的顺序正确即可。

以下是一个简单的Map例子,使用Map存储学生的姓名和分数:

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
  map<string, int> scores;
  scores["Tom"] = 90;
  scores["Jerry"] = 85;
  scores["Mary"] = 95;
  cout << "Tom's score is " << scores["Tom"] << endl;
  return 0;
}

运行结果:

Tom's score is 90

Set是一种关联容器,存储的数据不重复且自动排序。Set中的数据只有键,没有值。Set的应用场景非常广泛,比如判断输入的数据是否存在、去除重复的数据等。

以下是一个简单的Set例子,使用Set存储学生的姓名:

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main()
{
  set<string> names;
  names.insert("Tom");
  names.insert("Jerry");
  names.insert("Tom");
  cout << "There are " << names.size() << " students." << endl;
  cout << "Is Mary in the class? " << (names.count("Mary") ? "yes" : "no") << endl;
  return 0;
}

运行结果:

There are 2 students.
Is Mary in the class? no

可以看到,Set中存储的数据不重复。如果插入重复的数据,则不会被插入。另外,Set还可以用`count`函数来查找某个元素是否在Set中。

总的来说,Map和Set是C++中非常实用的数据结构,可以在很多场景下使用。在实际开发中,需要深入了解Map和Set的使用方法,来提高程序的效率和性能。

  
  

评论区

请求出错了