溫馨提示×

如何通過C++的equal_range函數(shù)查找重復(fù)元素

c++
小樊
82
2024-08-18 05:31:35
欄目: 編程語言

equal_range函數(shù)可以用來查找某個值在已排序的容器中的范圍,該范圍表示所有等于該值的元素的位置。如果容器中不存在該值,則返回一個范圍,該范圍表示可以插入該值的位置。以下是使用equal_range函數(shù)來查找重復(fù)元素的示例代碼:

#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 << "重復(fù)元素2的范圍是:" << std::distance(vec.begin(), it.first) << " - " << std::distance(vec.begin(), it.second) - 1 << std::endl;
    } else {
        std::cout << "未找到重復(fù)元素2" << std::endl;
    }
    
    return 0;
}

在這個示例代碼中,我們定義了一個vector容器vec,包含一些已排序的整數(shù)。我們使用equal_range函數(shù)來查找值為2的重復(fù)元素,并輸出重復(fù)元素2的范圍。如果容器中不存在值為2的元素,則輸出未找到重復(fù)元素2。

0