quicksort如何为所有相同元素的数组工作?

时间:2016-04-04 01:12:57

标签: sorting quicksort partitioning

例如,大小为7的数组包含所有3&#39; s。 <3a, 3b, 3c, 3d, 3e, 3f, 3g>

这些字母用于区分&#34;身份&#34;为了演示的目的,它们实际上并不是数据的一部分。

2 个答案:

答案 0 :(得分:2)

这取决于实施。

如果它们在序列中保留相同的元素,则称为 stable ,如果它们可能以另一个序列返回,则不稳定

当然,除非您使用其他列中的其他数据对数据行进行排序,并且只有已排序的列相同,否则您不会看到差异。它有所作为。

答案 1 :(得分:0)

快速排序,几乎任何交换非相邻元素的排序都不稳定(你可能会很幸运并最终获得稳定的结果),这意味着不会保留相同元素的顺序。

合并排序和大多数只能交换相邻元素的排序是稳定的。