77问答网
所有问题
c++ sort()是稳定排序吗?
如题所述
举报该问题
推荐答案 2016-01-07
c++sort不是稳定排序,stl中stable_sort才是稳定排序。
稳定排序的概念:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种
排序算法
是稳定的;否则称为不稳定的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/IGqpNvNqI.html
其他回答
第1个回答 推荐于2018-03-05
sort不是稳定排序。stl中stable_sort才是稳定排序。
稳定排序的概念:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。
本回答被提问者和网友采纳
第2个回答 2015-10-26
C++中的sort()不是稳定排序。
因为当数据量稍大时,sort()就会使用快速排序,而快速排序是不稳定排序,即不能保证原序列中相等的元素在排序后保持相对位置不变。
在C++中若要进行稳定排序,可使用STL的stable_sort()。
第3个回答 2015-10-02
sort()内部实现的方式是内省式排序,本质上是快排,插排和堆排的的结合,进入函数后先检验分割后各部分的元素数,若发现分割方式有退化为二次的风险是改用堆排,再判断快排分割层次,若分割层次过多,则改为堆排,最后进入快排,当分割出来的数据长度小于一定阀值时,再用插排完成最后的排序。也就是说,sort()本质上是一种快排,是不稳定排序。
参考资料:
STL sort 函数内部的实现 为什么会比你写的快...:
http://blog.sina.com.cn/s/blog_9d987af501014zlj.html
相似回答
3道题,求解
答:
//1.
稳定排序
#include <iostream>#include <algorithm>using namespace std;const int MAX = 100;int main(){int n, arr[MAX];cin >> n;for (int i = 0; i < n; ++ i)cin >> arr[i];stable_
sort(
arr,arr+n);for (int i = 0; i < n; ++ i)cout << arr[i] << '...
C++中关于泛型算法
sort()
用法的问题
?C++
达人进!
答:
对与sort()排序是不稳定的
,正如前面说的,如果需要稳定排序的话,可以使用 stable_sort,它可以保证相等的元素原来的相对次序是不变的。
c++
的stdlib.h里的qsort函数是不
是稳定排序?
答:
qsort是快速排序,
不是稳定排序
sort
h 是什么意思
答:
是
C++
中的一种函数。
sort
函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的
排序算法
效率要高,sort函数包含在头文件为#include<algorithm>的
c++
标准库中。参数:(1)start表示要排序数组的起始地址;(2)end表示数组结束...
在
C++
中有哪些
排序
法?
答:
排序是将文件按关键字的递增(减)顺序排列; 排序文件中有相同的关键字时,若排序后相对次序保持不变的称
稳定排序
,否则称不稳定排序; 在排序过程中,文件放在内存中处理不涉及数据的内、外存交换的称内部排序,反之称外部排序;
排序算法
的基本操作:1)比较关键字的大小;2)改变指向记录的指针或移动记录本身。 评价排序...
C++
数据结构实现!!急求!!!
答:
)" << endl;while ( cin >> StudentID )seat.push_back(StudentID);//stable_sort 对给定区间所有元素进行
稳定排序
,//此例中vector容器元素从小到大排列。stable_
sort(
seat.begin(), seat.end(), Sortofsize);//循环遍历输出vector<int>::const_iterator vit = seat.begin();while ( vit ...
STL是什么意思?
答:
STL是standard Template Library标准模板库的英文缩写.它包含有计算机科学领域常用的基本数据结构和基本算法.如果要对一个整形数组int a[10]按递增
排序
,可以使用
sort(
a,a+10),sort函数被包含在#include<algorithm>中,在MSDN中有详细的解释.
大家正在搜
快速排序是稳定排序吗
list排序sort降序
选择排序是不是稳定的
arrays的sort排序
js sort排序
选择排序稳定吗
哪些排序方法是稳定的
直接选择排序是否稳定
归并排序稳定吗
相关问题
c++ 的stl的sort()函数是什么排序,快速排序吗?
C++sort和qsort排序的时间复杂度分别为多少?
C++里面的sort()函数是不是不能对double类型的元...
sort 函数是稳定的吗?
c++sort多关键字排序
今天终于明白了怎么利用c++的sort函数排序了
c++中排序函数sort用的是什么方法排序
c++ sort 函数能对类或者结构体进行排序吗