C语言讲义——库函数排序qsort

qsort函数在在stdlib.h中。
函数原型

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

参数

  • base -- 这就是指针的数组的第一个元素进行排序
  • nitems -- 这是由基部指向的数组中的元素数目
  • size -- 这是在数组中的每个元素的大小(以字节为单位)
  • compar -- 这个函数比较两个元素
    返回值:不返回任何值
    缺点:对于有多个重复值的数组来说,效率较低不稳定。

#include <stdio.h>
#include <stdlib.h>

// qsort 要结合  compare使用
int compare(const void *value1, const void *value2) {
	// 升序
	return (*(int*)value1 - *(int*)value2);
}

int main(int argc, char *argv[]) {
	int arr[]= {-1,5,6,2,7,9};

	qsort(arr, 6, sizeof(int), compare);
	// 输出结果
	int i=0;
	for(; i<sizeof(arr)/sizeof(int); i++) {
		printf("%d ", arr[i]);
	}

	return 0;
}
原文地址:https://www.cnblogs.com/tigerlion/p/11191549.html