📜  C++ STL-map.find()函数(1)

📅  最后修改于: 2023-12-03 14:59:45.783000             🧑  作者: Mango

C++ STL-map.find()函数介绍

概述

map 是 C++ STL中的关联容器之一,提供了基于 key-value 键值对的元素访问方式,即使你不知道一个元素的具体位置,也能通过 key 直接访问到它。STL库中 map 底层采用红黑树实现,因此查找速度较快。

C++ STL-map.find()函数用于在 map 容器中查找指定 key 的元素,并返回该 key 所对应的迭代器。如果查找失败,则返回 map.end() 迭代器。

函数原型
map<string, int>::iterator find(const key_type& k);
参数
  • k:要搜索的关键字。
返回值

查找成功:返回指向查找到的元素(即 key 相同的元素)的迭代器;

查找失败:返回容器末尾后面的迭代器 map.end()。

示例代码
#include <iostream>
#include <map>
using namespace std;

int main() {
    map<string, int> mp;
    mp.insert(make_pair("apple", 5));
    mp.insert(make_pair("banana", 2));
    mp.insert(make_pair("orange", 8));
    mp.insert(make_pair("grape", 4));

    map<string, int>::iterator iter = mp.find("orange");
    if (iter != mp.end()) {
        cout << "找到了元素 " << iter->first << ",对应值为 " << iter->second << endl;
    }
    else {
        cout << "没有找到元素" << endl;
    }

    iter = mp.find("peach");
    if (iter != mp.end()) {
        cout << "找到了元素 " << iter->first << ",对应值为 " << iter->second << endl;
    }
    else {
        cout << "没有找到元素" << endl;
    }

    return 0;
}
输出结果
找到了元素 orange,对应值为 8
没有找到元素

上面的示例中,我们首先定义一个 map 容器 mp,然后通过 insert() 函数手动向其中添加了一些数据。接着,我们调用 find() 函数查找关键字为 "orange" 和 "peach" 的元素,并输出查找结果。通过这个例子,我们可以看到 find() 函数的使用方法,以及查找成功和查找失败的返回结果。