当前位置:实例文章 » 其他实例» [文章]C++进阶:map和set

C++进阶:map和set

发布人:shili8 发布时间:2024-12-29 20:06 阅读次数:0

**C++进阶:map和set**

在 C++ 中,`map` 和 `set` 是两个非常重要的容器类,它们提供了高效的键值对存储和集合操作功能。这些容器类是 C++ 标准库中的一部分,并且广泛应用于各种场景。

**1. map**

`map` 是一个关联容器,用于存储键值对。每个键都与一个特定的值相关联。`map` 支持高效的插入、删除和查找操作。

###1.1 map 的基本使用

cpp#include <iostream>
#include <map>

int main() {
 // 创建一个空map std::map<std::string, int> myMap;

 // 插入一些键值对 myMap["apple"] =5;
 myMap["banana"] =10;
 myMap["orange"] =7;

 // 输出所有键值对 for (const auto& pair : myMap) {
 std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
 }

 return0;
}


###1.2 map 的查找和插入
cpp#include <iostream>
#include <map>

int main() {
 // 创建一个空map std::map<std::string, int> myMap;

 // 插入一些键值对 myMap["apple"] =5;
 myMap["banana"] =10;
 myMap["orange"] =7;

 // 查找一个键的值 auto it = myMap.find("apple");
 if (it != myMap.end()) {
 std::cout << "Found key 'apple' with value: " << it->second << std::endl;
 } else {
 std::cout << "Key 'apple' not found." << std::endl;
 }

 // 插入一个新的键值对 myMap["grape"] =3;

 return0;
}


###1.3 map 的删除
cpp#include <iostream>
#include <map>

int main() {
 // 创建一个空map std::map<std::string, int> myMap;

 // 插入一些键值对 myMap["apple"] =5;
 myMap["banana"] =10;
 myMap["orange"] =7;

 // 删除一个键的值 auto it = myMap.find("banana");
 if (it != myMap.end()) {
 myMap.erase(it);
 std::cout << "Deleted key 'banana'." << std::endl;
 } else {
 std::cout << "Key 'banana' not found." << std::endl;
 }

 return0;
}


**2. set**

`set` 是一个集合容器,用于存储唯一的元素。`set` 支持高效的插入、删除和查找操作。

###2.1 set 的基本使用
cpp#include <iostream>
#include <set>

int main() {
 // 创建一个空set std::set<int> mySet;

 // 插入一些元素 mySet.insert(5);
 mySet.insert(10);
 mySet.insert(7);

 // 输出所有元素 for (const auto& element : mySet) {
 std::cout << "Element: " << element << std::endl;
 }

 return0;
}


###2.2 set 的查找和插入
cpp#include <iostream>
#include <set>

int main() {
 // 创建一个空set std::set<int> mySet;

 // 插入一些元素 mySet.insert(5);
 mySet.insert(10);
 mySet.insert(7);

 // 查找一个元素 auto it = mySet.find(10);
 if (it != mySet.end()) {
 std::cout << "Found element10." << std::endl;
 } else {
 std::cout << "Element10 not found." << std::endl;
 }

 // 插入一个新的元素 mySet.insert(3);

 return0;
}


###2.3 set 的删除
cpp#include <iostream>
#include <set>

int main() {
 // 创建一个空set std::set<int> mySet;

 // 插入一些元素 mySet.insert(5);
 mySet.insert(10);
 mySet.insert(7);

 // 删除一个元素 auto it = mySet.find(10);
 if (it != mySet.end()) {
 mySet.erase(it);
 std::cout << "Deleted element10." << std::endl;
 } else {
 std::cout << "Element10 not found." << std::endl;
 }

 return0;
}


**总结**

`map` 和 `set` 是 C++ 中非常重要的容器类,它们提供了高效的键值对存储和集合操作功能。这些容器类支持插入、删除和查找操作,并且广泛应用于各种场景。通过理解这些容器类的基本使用和高级特性,开发者可以更好地利用它们来解决实际问题。

相关标签:c++
其他信息

其他资源

Top