📜  在C++ STL中映射lower_bound()函数

📅  最后修改于: 2021-05-30 02:08:22             🧑  作者: Mango

map :: lower_bound(k)是C++ STL中的内置函数,该函数返回一个迭代器,该迭代器指向容器中的键,该键等效于在参数中传递的k。
句法:

map_name.lower_bound(key)

参数:此函数接受单个强制性参数键,该键指定要返回其lower_bound的元素。
返回值:该函数返回一个迭代器,该迭代器指向映射容器中的键,该键等效于在参数中传递的k。如果在地图容器中不存在k,则该函数返回一个迭代器,该迭代器指向刚好大于k的紧邻的下一个元素。如果在参数中传递的键超出了容器中的最大键,则返回的迭代器将以key的形式指向映射中的元素数,而element =任何元素。

如果传递的参数超过容器中的最大键,则返回的迭代器将指向std :: set中的map :: end()。

CPP
// C++ function for illustration
// map::lower_bound() function
#include 
using namespace std;
 
int main()
{
 
    // initialize container
    map mp;
 
    // insert elements in random order
    mp.insert({ 2, 30 });
    mp.insert({ 1, 10 });
    mp.insert({ 5, 50 });
    mp.insert({ 4, 40 });
    for (auto it = mp.begin(); it != mp.end(); it++)
    {
        cout << (*it).first << " " <<
                              (*it).second << endl;
    }
 
    // when 2 is present
    auto it = mp.lower_bound(2);
    cout << "The lower bound of key 2 is ";
    cout << (*it).first << " " << (*it).second << endl;
 
    // when 3 is not present
    // points to next greater after 3
    it = mp.lower_bound(3);
    cout << "The lower bound of key 3 is ";
    cout << (*it).first << " " << (*it).second;
 
    // when 6 exceeds
    it = mp.lower_bound(6);
    cout << "\nThe lower bound of key 6 is ";
    cout << (*it).first << " " << (*it).second;
    return 0;
}


输出 :

1 10
2 30
4 40
5 50
The lower bound of key 2 is 2 30
The lower bound of key 3 is 4 40
The lower bound of key 6 is 4 0
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”