在这里,我们将看到C语言中的qsort()和C++中的sort()之间的区别。
C语言提供了qsort()函数,可用于对数组进行排序。函数的参数和语法如下所示。
void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));
登录后复制
这个函数接受数组的基地址、数组的元素数量、数组中每个项的大小以及一个比较函数。
C++提供了sort()函数,它位于C++ STL中。其参数和语法如下所示。
void sort(T first, T last, Compare c);
登录后复制
这里不保证重复元素的顺序被保留。为了实现这个目的,我们可以使用C++ STL提供的stable_sort。
qsort()和sort()之间的区别
C中的qsort() | C++中的sort() |
---|---|
它使用快速排序算法。 | 它使用introsort。这是一种混合排序算法。不同的实现使用不同的算法。GNU C++ STL使用三部分混合排序。Introsort、Quicksort和Insertion Sort。 |
C标准没有提到 | 这个问题。 |
这个排序算法的复杂性。
sort()
sort()
以上就是C qsort()与C++ sort()的区别的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!