#include <stdlib.h>
标准库,快速排序。
/* Sort NMEMB elements of BASE, of SIZE bytes each,
using COMPAR to perform the comparisons. */
extern void qsort (void *__base, size_t __nmemb, size_t __size,
__compar_fn_t __compar) __nonnull ((1, 4));
#ifdef __USE_GNU
extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
__compar_d_fn_t __compar, void *__arg)
__nonnull ((1, 4));
#endif
int compare(const void *a,const void *b)
{
return (*(int*)a - *(int*)b); //升序
//return (*(int*)b - *(int*)a); //降序
//return (*(char*)a - *(char*)b); //升序
//return (*(double*)a) > (*(double*)b) ? 1 : -1
//return strcmp((char *)a,(char *)b);
}
void test(void)
{
int buf[5]={4,2,41,5,3};
qsort(buf,5,sizeof(int),compare);
}