查找集合中最近的元素

Find Closest Element in a Set

本文关键字:元素 最近 集合 查找      更新时间:2023-10-16

假设我有一个集合,像这样:

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

基本上,它接受一个值,然后返回一个迭代器,该迭代器指向该元素,或者指向该元素之后的第一个元素(如果提供的值位于集合的末尾之后,则选择经过末端的迭代器)。

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

set::lower_bound是您要查找的函数。