본문 바로가기

Lecture & Tip/C study[느뤼스터디]

함수 포인터를 이용한 bubble sort.

함수 포인터를 이용한 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]