21xrx.com
2024-12-22 21:17:15 Sunday
登录
文章检索 我的文章 写文章
C++中的Map和Set数据结构介绍
2023-07-05 11:15:09 深夜i     --     --
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的使用方法,来提高程序的效率和性能。

  
  

评论区

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