【CCC】特殊函数

30 阅读1分钟

qsort函数

  • 用于对数组进行排序
  • 函数的声明:
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *));
  • 其中参数含义
  • base:指向要排序的数组的第一个元素的指针。
  • nitems:由 base 指向的数组中元素的个数。
  • size:数组中每个元素的大小(以字节为单位)。
  • compar:用来比较两个元素的函数,需要用户自定义一个比较函数。
#include <stdio.h>
#include <stdlib.h>

// 比较函数,用于确定排序的顺序
int cmpfunc(const void *a, const void *b) {
    return (*(int *)a - *(int *)b);
}

int main() {
    int values[] = {88, 56, 100, 2, 25};
    int n;

    printf("排序之前的列表:\n");
    for (n = 0; n < 5; n++) {
        printf("%d ", values[n]);
    }

    qsort(values, 5, sizeof(int), cmpfunc);//!!!!!!!!

    printf("\n排序之后的列表:\n");
    for (n = 0; n < 5; n++) {
        printf("%d ", values[n]);
    }

    return 0;
}