Может кто-нибудь помочь мне переписать этот код с C ++ на C ... (в нем есть шаблоны ... даааа :))
Спасибо.
template <class T>
void SWAP( T& t1, T& t2 )
{
T tmp=t1;
t1=t2;
t2=tmp;
}
и этот
template <class CMP, class Element>
void sh_qsort( Element* array, uint lo, uint hi )
{
some code...
}
и sh_qsort называется как sh_qsort<TEST>( test_file, 0, 255 )
где TEST
равно
struct TEST {
static int c( uint* A, int x, int y )
{
uint px = A[x];
uint py = A[y];
int r,s;
s = (px<py) ? SWAP(px,py),0x80000000 : 0;
byte* p = &f_buf[px];
byte* th = &f_buf[blocksize];
byte* q = &f_buf[py];
for(; (r=1,p<th) && ((r=(*p)-(*q))==0); p++,q++ );
return r^s;
}
static void s( uint* A, int x, int y )
{
SWAP( A[x], A[y] );
}
};
и как переписать эту структуру в c.
Просто и аккуратно ... ПОМОГИТЕ :)
Спасибо!