📅  最后修改于: 2023-12-03 14:59:37.726000             🧑  作者: Mango
qsort()和sort()都是用于对数组或向量进行排序的函数,可以将数组或向量中的元素按照指定的顺序进行排序。但是两者之间还存在一些不同点。
void qsort(void *base, size_t nmemb, size_t size, int (*comparator)(const void *, const void *));
下面是一个简单的例子,对一个有10个元素的数组进行排序:
#include <stdio.h>
#include <stdlib.h>
// 定义一个用于比较整数大小的函数
int cmpfunc(const void *a, const void *b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int arr[] = {3, 5, 1, 7, 2, 8, 4, 9, 0, 6};
int n = sizeof(arr) / sizeof(int);
qsort(arr, n, sizeof(int), cmpfunc);
for (int i = 0; i < n; ++i)
{
printf("%d ", arr[i]);
}
return 0;
}
输出为:
0 1 2 3 4 5 6 7 8 9
void sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
下面是一个简单的例子,对一个有10个元素的数组进行排序:
#include <iostream>
#include <algorithm>
int main()
{
int arr[] = {3, 5, 1, 7, 2, 8, 4, 9, 0, 6};
int n = sizeof(arr) / sizeof(int);
std::sort(arr, arr + n);
for (int i = 0; i < n; ++i)
{
std::cout << arr[i] << " ";
}
return 0;
}
输出为:
0 1 2 3 4 5 6 7 8 9
在C语言中使用qsort(),在C++中使用sort(),都是对数组或向量进行排序的好选择。在实际应用中,应该根据具体情况进行选择。