在C++中,std::sort
是一个常用的排序算法,它可以对一个容器(如向量)中的元素进行排序。std::sort
使用的是快速排序算法,它的时间复杂度为O(n log n)。
要检查一个向量是否已经排序,可以使用std::is_sorted
函数。std::is_sorted
函数接受两个迭代器作为参数,返回一个布尔值,表示该范围内的元素是否已经排序。
例如,以下代码演示了如何使用std::is_sorted
函数检查向量是否已经排序:
#include<iostream>
#include<vector>
#include<algorithm>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
std::cout << "Is the vector sorted? "<< std::is_sorted(v.begin(), v.end())<< std::endl;
v[2] = 6;
std::cout << "Is the vector sorted? "<< std::is_sorted(v.begin(), v.end())<< std::endl;
return 0;
}
输出结果:
Is the vector sorted? 1
Is the vector sorted? 0
在这个例子中,我们首先创建了一个已经排序的向量v
,然后使用std::is_sorted
函数检查它是否已经排序,输出结果为1,表示已经排序。接着,我们将向量中的第三个元素改为6,使得向量不再排序,再次使用std::is_sorted
函数检查,输出结果为0,表示未排序。
领取专属 10元无门槛券
手把手带您无忧上云