C 库函数 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
对数组进行排序。
1
2
3
| #include <stdlib.h>
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
|
参数
- base – 指向要排序的数组的第一个元素的指针。
- nitems – 由 base 指向的数组中元素的个数。
- size – 数组中每个元素的大小,以字节为单位。
- compar – 用来比较两个元素的函数。
返回值
该函数不返回任何值。
实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| #include <stdio.h>
#include <stdlib.h>
int compfunc(const void *a, const void *b)
{
return (*(int *)a > *(int *)b);
}
int main()
{
int n;
int array_len = 0;
int values[] = {88, 56, 100, 2, 25};
array_len = sizeof(values) / sizeof(values[0]);
printf("排序之前的列表: \n");
for (n = 0; n < array_len; n++)
{
printf("%d ", values[n]);
}
qsort(values, array_len, sizeof(values[0]), compfunc);
printf("\n排序之后的列表: \n");
for (n = 0; n < array_len; n++)
{
printf("%d ", values[n]);
}
printf("\n");
return 0;
}
|