因为他是归并排序复杂度是稳定的,并且可以保证原数据的相对位置不被改变。
by hly1204 @ 2019-12-13 23:47:09
说的有点不严谨但是可以理解吧。。
by hly1204 @ 2019-12-13 23:47:58
@[hly1204](/user/242973) 然而快排加一堆奇奇怪怪的优化
by 樱初音斗橡皮 @ 2019-12-13 23:48:01
`stable_sort`是归并排序 需要额外空间吧
其实你用`sort`就行了 这是个很复杂的排序过程优化了很多 不要担心什么复杂度问题 `STL::sort`设计的很好的绝对不会挂
@[WithForce](/user/35204)
by installb @ 2019-12-13 23:52:38
至于这个效率就是玄学罢了。。
by installb @ 2019-12-13 23:53:01
@[installb](/user/31440) `stable_sort` 确实在数组元素动的不多的时候比 `sort` 快
by hellomath @ 2019-12-14 00:01:00
@[WithForce](/user/35204) @[hly1204](/user/242973)
正解 ~~其实我就是举个例子QWQ~~
```
给你一组数
数 : 1 2 2 4 3 5
标号 : 1 2 3 4 5 6
sort:
第一种可能:
排序 : 1 2 2 3 4 5
序号 : 1 2 3 5 4 6
第二种可能 :
排序 : 1 2 2 3 4 5
序号 : 1 3 2 5 4 6
对于
stable_sort
只有一种可能
排序 : 1 2 2 3 4 5
序号 : 1 2 3 5 4 6
```
总结一下 sort 在处理多个相同数是编号也会进行再排序
而 stable_sort 对于相同来说只有一次的排序
所以有时候确实省时间qwq
by S1gMa @ 2019-12-14 00:31:00