自己写的C++ STL Algorithm中qsort的实现如下:
void swap(void *a, void *b, int size)
{
unsigned char *bytesOfA = reinterpret_cast<unsigned char*>(a);
unsigned char *bytesOfB = reinterpret_cast<unsigned char*>(b);
char tmp = 0;
for(int i = 0; i < size; ++i)
{
tmp = *(bytesOfA+i);
*(bytesOfA+i) = *(bytesOfB+i);
*(bytesOfB+i) = tmp;
}
}
int partition(void *base, int num, int size, int (*comparator)(const void *, const void *))
{
......
阅读全文