继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

如何在C++中高效地使用map容器?

慕桂英4014372
关注TA
已关注
手记 230
粉丝 10
获赞 56

在C++编程中,map是一种关联容器,它存储了键值对(key-value pairs),并根据键(key)进行排序。map的用法非常广泛,可以在各种应用场景中使用,例如实现字典、记录学生成绩等。本文将详细介绍C++ map的用法,包括创建、插入、查找、删除等操作。

1. 创建map

在C++中,可以使用#include <map>头文件来引入map容器。要创建一个map,需要指定键(key)和值(value)的类型。例如,要创建一个存储整数键和字符串值的map,可以使用以下代码:

#include <map>
#include<string>

int main() {
    std::map<int, std::string> myMap;
    return 0;
}
2. 插入元素

可以使用insert函数向map中插入元素。例如,向上面创建的myMap中插入一个键值对(1, "one"):

myMap.insert(std::make_pair(1, "one"));

也可以使用operator[]直接插入元素。如果键已经存在于map中,则会更新对应的值;如果键不存在,则会插入新的键值对。例如:

myMap[2] = "two";
3. 查找元素

可以使用find函数查找map中的元素。例如,查找键为1的元素:

auto it = myMap.find(1);
if (it != myMap.end()) {
    std::cout << "Found: " << it->first << " -> " << it->second<< std::endl;
} else {
    std::cout << "Not found"<< std::endl;
}

也可以使用operator[]直接访问元素。需要注意的是,使用operator[]时,如果键不存在,则会插入一个新的键值对,值将被默认初始化。例如:

std::cout << myMap[1]<< std::endl;
4. 删除元素

可以使用erase函数删除map中的元素。例如,删除键为1的元素:

myMap.erase(1);

也可以使用迭代器删除元素。例如:

auto it = myMap.find(2);
if (it != myMap.end()) {
    myMap.erase(it);
}
5. 遍历map

可以使用迭代器遍历map中的所有元素。例如:

for (auto it = myMap.begin(); it != myMap.end(); ++it) {
    std::cout << it->first << " -> " << it->second<< std::endl;
}
6. 示例代码

下面是一个完整的示例代码,展示了如何使用map容器实现一个简单的字典:

#include<iostream>
#include <map>
#include<string>

int main() {
    std::map<std::string, std::string> dictionary;

    // 插入元素
    dictionary["apple"] = "一种水果";
    dictionary.insert(std::make_pair("banana", "一种长条形水果"));

    // 查找元素
    auto it = dictionary.find("apple");
    if (it != dictionary.end()) {
        std::cout << "Found: " << it->first << " -> " << it->second<< std::endl;
    } else {
        std::cout << "Not found"<< std::endl;
    }

    // 删除元素
    dictionary.erase("banana");

    // 遍历map
    for (auto it = dictionary.begin(); it != dictionary.end(); ++it) {
        std::cout << it->first << " -> " << it->second<< std::endl;
    }

    return 0;
}

以上就是C++ map的基本用法。希望对您有所帮助!

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP