📅  最后修改于: 2023-12-03 14:59:45.228000             🧑  作者: Mango
qsort()
是一个用于排序的C++标准函数,可以用于对任意类型的数组进行排序。它的完整声明如下:
void qsort(void* base, size_t num, size_t size, int (*comp)(const void*, const void*));
其中,参数含义如下:
base
: 指向要排序数组的第一个元素的指针。num
: 数组的元素个数。size
: 每个元素的大小。comp
: 一个用户定义的函数指针,用于比较数组中的两个元素的大小关系。qsort()
的使用方法非常简单,只需提供一个比较函数即可。例如,下面是对整型数组进行升序排序的示例:
#include <stdlib.h>
#include <stdio.h>
int compare(const void* a, const void* b)
{
return (*(int*)a - *(int*)b);
}
int main()
{
int array[] = { 3, 1, 4, 1, 5, 9, 2, 6 };
int size = sizeof(array) / sizeof(array[0]);
qsort(array, size, sizeof(int), compare);
for (int i = 0; i < size; ++i)
printf("%d ", array[i]);
printf("\n");
return 0;
}
输出结果为:1 1 2 3 4 5 6 9
qsort()
使用快速排序算法,对于大型数组,它的效率比其他排序算法更高。qsort()
是C++标准库中的一个函数,用于对任意类型的数组进行排序。它使用快速排序算法,对于大型数组具有很好的效率。使用qsort()
时,只需要提供一个比较函数即可,比较函数的定义应注意遵循指针类型。