如何通过C++的equal_range函数查找重复元素

avatar
作者
筋斗云
阅读量:0

equal_range函数可以用来查找某个值在已排序的容器中的范围,该范围表示所有等于该值的元素的位置。如果容器中不存在该值,则返回一个范围,该范围表示可以插入该值的位置。以下是使用equal_range函数来查找重复元素的示例代码:

#include <iostream> #include <algorithm> #include <vector>  int main() {     std::vector<int> vec = {1, 2, 2, 3, 4, 4, 5};          auto it = std::equal_range(vec.begin(), vec.end(), 2);          if (it.first != vec.end()) {         std::cout << "重复元素2的范围是:" << std::distance(vec.begin(), it.first) << " - " << std::distance(vec.begin(), it.second) - 1 << std::endl;     } else {         std::cout << "未找到重复元素2" << std::endl;     }          return 0; } 

在这个示例代码中,我们定义了一个vector容器vec,包含一些已排序的整数。我们使用equal_range函数来查找值为2的重复元素,并输出重复元素2的范围。如果容器中不存在值为2的元素,则输出未找到重复元素2。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!