找到集合中最近的元素

时间:2013-03-23 03:06:46

标签: c++ set

说我有一套,如:

my_set = {"aaron", "cathy", "john", "stewie", "xavier"};

说我想要这样的功能:

FindFirst(my_set, "a")      // returns an iterator pointing to "aaron"
FindFirst(my_set, "aaron")  // returns an iterator pointing to "aaron"
FindFirst(my_set, "bill")   // returns an iterator pointing to "cathy"
FindFirst(my_set, "zzzzz")  // returns past-the-end iterator

基本上,它接受一个值,并将迭代器返回到该元素或其后的第一个元素(如果提供的值位于集合结束之后,则选择过去的迭代器)。

标准库中是否存在这样的函数,或者我是否必须自己编写一个函数?

1 个答案:

答案 0 :(得分:7)

set::lower_bound是您正在寻找的功能。