在 C++ 中,std::is_sorted
函数用于检查一个序列是否已经按升序排序
以下是一个示例,展示了如何为 std::is_sorted
提供自定义比较函数:
#include<iostream>
#include<vector>
#include<algorithm>
// 自定义比较函数
bool my_compare(int a, int b) {
return a > b; // 降序排序
}
int main() {
std::vector<int> v = {5, 3, 1};
// 使用自定义比较函数检查是否已排序
bool is_sorted = std::is_sorted(v.begin(), v.end(), my_compare);
if (is_sorted) {
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;
}
在这个示例中,我们创建了一个名为 my_compare
的自定义比较函数,该函数用于降序排序。然后,我们将此自定义比较函数传递给 std::is_sorted
函数,以检查向量 v
是否已按降序排序。