#include <iostream>
#include <algorithm>
#include <array>
#include <vector>
#include <functional>
using namespace std;
template <class InputIterator1, class UnaryPredicate>
bool _is_partitioned (InputIterator1 first, InputIterator1 last, UnaryPredicate pred)
{
while (first!=last && pred(*first)) {
++first;
}
while (first!=last) {
if (pred(*first)) return false;
++first;
}
return true;
}
int main(){
array<int,8> t1 = {3,5,7,11,13,17,19,23};
array<int,8> t2 = {19,23,3,5,7,11,13,17};
if(_is_partitioned(t1.begin(),t1.end(),[](int i){return i<15;}))cout<<"is";
//for_each(t2.begin(),t2.end(),[](int i){cout<<i<<endl;});
return 0;
}
本文介绍如何使用C++中的_is_partitioned模板函数来检查数组中元素是否符合特定条件,通过实例展示了其在数组排序和分区操作中的应用。
660

被折叠的 条评论
为什么被折叠?



