#include <bits/stdc++.h>
usingnamespaceStd
ConstintMAX = 1e5+Ten;
vector<int> Filter (Constvector<int> &vec,intval,less<int> <) {
vector<int> Nvec;
vector<int>:: Const_iterator iter=vec.begin ();
while((Iter=find_if (Iter,vec.end (), bind2nd (less<int> (), Val)))!=vec.end ()) {
Nvec.push_back (*iter);
iter++;
}
returnNvec;
}
Template<typename Inputiterator, TypeName Outputiterator,typename elemtype,typename comp>
Outputiterator Filter (Inputiterator first,inputiterator last,outputiterator at,ConstElemtype Val,comp Pre) {
while((First=find_if (first,last,bind2nd (pre,val)))!=last) {
cout<<*first<<endl;
*at++=*first++;
}
returnAt
}
Template<typename inputiterator,typename Outputiterator,typename elemtype>
Outputiterator Sub_vec (inputiterator first,inputiterator last,elemtype val,outputiterator at) {
Inputiterator First1=first,last1=last;
for(; first!=last;first++) {
*at++=*first++;
}
Sort (first1,last1);
First=find_if (first1,last1,bind2nd (less<int> (), Val));
At->erase (FIRST,LAST1);
returnAt
}
Priority_queue <int,vector<int>,greater<int> > Q;
intMain () {
ConstintElem_size=5;
intia[elem_size]={1,3,4, About,7};
vector<int> Res (ia,ia+elem_size);
vector<int> ans;
Filter (Res.begin (), Res.end (), Back_inserter (ans), -,greater<int> ());
for(intI=0; I<ans.size (); i++) {
printf"%d\n", Ans[i]);
}
}
C + + Adapters