如何在c++中使用is_sorted函数判断向量是否有序

   2024-09-30 8480
核心提示:std::is_sorted 是 C++ 标准库中的一个函数,用于检查范围内的元素是否已按非降序排列。以下是如何在 C++ 中使用std::is_sorted

std::is_sorted 是 C++ 标准库中的一个函数,用于检查范围内的元素是否已按非降序排列。以下是如何在 C++ 中使用std::is_sorted 函数来判断一个向量(std::vector`)是否有序的示例:

#include<iostream>#include<vector>#include<algorithm>int main() {    std::vector<int> vec = {1, 2, 3, 4, 5};    if (std::is_sorted(vec.begin(), vec.end())) {        std::cout << "The vector is sorted."<< std::endl;    } else {        std::cout << "The vector is not sorted."<< std::endl;    }    return 0;}

在这个示例中,我们创建了一个名为 vec 的整数向量,并使用 std::is_sorted 函数检查它是否已排序。如果向量已排序,则输出 “The vector is sorted.”,否则输出 “The vector is not sorted.”。

注意,std::is_sorted 默认使用 operator< 进行比较。如果你需要使用自定义比较函数,可以将其作为第三个参数传递给 std::is_sorted。例如:

#include<iostream>#include<vector>#include<algorithm>bool custom_compare(int a, int b) {    return a > b; // 降序排列}int main() {    std::vector<int> vec = {5, 4, 3, 2, 1};    if (std::is_sorted(vec.begin(), vec.end(), custom_compare)) {        std::cout << "The vector is sorted in descending order."<< std::endl;    } else {        std::cout << "The vector is not sorted in descending order."<< std::endl;    }    return 0;}

在这个示例中,我们使用了一个自定义比较函数 custom_compare,它使用降序排列。我们将这个比较函数作为第三个参数传递给 std::is_sorted 函数,以检查向量是否按降序排列。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号