int size = sizeof((数组元素的数据类型);参数:int(*)(const void*,const void *)第四个参数的p_func是一个函数名或者函数指针,指向一个比较函数。这个比较函数的原型如下:int comp(const void *,const void *);这个比较函数的函数名任意起名,一般都命名comp(compare之意),参数都是const类型的指针,...
intcompare(constvoid*a,constvoid*b){return(*(int*)a - *(int*)b); }intmain(){intarr[] = {5,2,8,10,1};intn =sizeof(arr) /sizeof(arr[0]); qsort(arr, n,sizeof(int), compare);for(inti =0; i < n; i++) {printf("%d ", arr[i]); }printf("\n");return0; } 上...
arr[i]);}int char_sort(const void* e1, const void* e2){return (*(char*)e1) - (*(char*)e2);}int main(){char arr[10] = { 'd','g','b','a','e','i','h','c','j','f' };int sz = sizeof(arr) / sizeof(arr[0]);qsort...
[i]);} printf("\n"); } int main() { int array[] = {9,8,2,90,77,6,0,0,22,77}; int len = sizeof(array) / sizeof(int); int *array_p = (int *)array; printInt(array, len); qsort(array_p, len, sizeof(int), compareInt); printInt(array, len); return ...
strcpy(p[i],str);}mTimerBegin("qsort");qsort(p,n,sizeof(char*),qsort_compare);mTimerEnd(...
void Swap(char* buf1, char*buf2, size_t width){int i = 0;for (i = 0; i < width; i++){char tmp = *buf1;*buf1 = *buf2;*buf2 = tmp;buf1++;buf2++;}} bubble_sort2函数实现冒泡排序算法,和普通冒泡排序区别在于使用void*作为参数,通过width实现对结构体进行排序。
在这个示例中,首先定义了一个整型数组arr,然后通过qsort函数对数组进行排序。在main函数中,我们计算数组的大小n,然后调用qsort函数,传入数组、数组大小、每个元素的大小以及比较函数compare。比较函数compare中,我们将void*类型的指针转换为int*类型,并进行升序排序。最终得到的就是升序排序的数组了。
qsort(s,100,sizeof(s[0]),cmp); 6.对string进行排序 char str[100][100]; int cmp(const void* a,const void* b ) { return strcmp((char *)a,(char*)b); } qsort(str,n,sizeof(str[0]),cmp); 值得注意的是,上面的n,很有可能会被误认为是100,这里实际应该是你要排序的个数,比如说你...