📅  最后修改于: 2023-12-03 15:29:43.047000             🧑  作者: Mango
**boost::algorithm::is_sorted()**是C++ Boost库中一个非常有用的模板函数,用于测试一个序列是否已经按照给定规则排好序。
template<typename Range, typename Compare>
inline bool is_sorted(const Range& r, Compare c)
其中:
如果序列已经按照指定规则排序,则函数返回true;否则返回false。
下面是一个使用boost::algorithm::is_sorted()函数检测一个数组是否已经按照从大到小排序的例子:
#include <iostream>
#include <vector>
#include <boost/algorithm/cxx11/iota.hpp> // 使用iota函数的头文件
#include <boost/algorithm/cxx11/is_sorted.hpp> // 使用is_sorted函数的头文件
using namespace std;
using namespace boost::algorithm;
int main()
{
vector<int> v(10);
iota(v, 10); // 将v数组从0到9依次赋值,即v = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
// 检测数组是否已经按照从大到小的顺序排好
bool result = is_sorted(v, greater<int>());
if (result)
{
cout << "数组已经按照从大到小的顺序排好了。" << endl;
}
else
{
cout << "数组没有按照从大到小的顺序排好。" << endl;
}
return 0;
}
输出结果:
数组没有按照从大到小的顺序排好。
使用boost::algorithm::is_sorted()函数可以方便快速地检测一个序列是否已经按照指定规则排序。此外,Boost库还提供了许多其他有用的函数,可以大大简化C++程序员的开发工作。