함수 포인터를 이용한 bubble sort.
[CODE]void bsort(void *base_ptr, size_t nmemb, size_t size,
int(*compare)(const void *, const void*)){
int i,j;
char* base = (char *)base_ptr;
for(i=0;i<nmemb-1;i++){
for(j=i+1;j<nmemb;j++){
if(compare(&base[size*i],&base[size*j]) > 0 ){
char* tmp =(char *) malloc(size);
memcpy(tmp, &base[size*i], size);
memcpy(&base[size*i], &base[size*j], size);
memcpy(&base[size*j], tmp, size);
free(tmp);
}
}
}
}
int desc(const void* x, const void* y){
return (*(int*)x - *(int*)y);
}[/CODE]