18 lines
486 B
Plaintext
18 lines
486 B
Plaintext
|
#ifndef _ALGORITHM_INCLUDED
|
||
|
#define _ALGORITHM_INCLUDED
|
||
|
#include <vector>
|
||
|
#include <stdlib.h>
|
||
|
namespace std
|
||
|
{
|
||
|
static bool (*__cmpfn)(const void* elem1, const void* elem2);
|
||
|
static int __compare(const void* elem1, const void* elem2)
|
||
|
{return __cmpfn(elem1,elem2)?-1:1;}
|
||
|
template<class T, class Pred>
|
||
|
void sort(T* first, T* last, Pred pr)
|
||
|
{
|
||
|
__cmpfn=(bool(*)(const void*,const void*))pr;
|
||
|
qsort(first,last-first,sizeof(*first),&__compare);
|
||
|
}
|
||
|
}
|
||
|
#endif
|