排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上

简单选择排序,能够取出当前无序序列中最(小or大)值与第一位置的元素互换位置。

堆排序每趟总能选出一个最值位于根节点。

冒泡排序总是两两比较选出一个最值位于数组前面。

快速排序选出的枢轴在一趟排序中就位于了它最终的位置

插入排序(直接、二分)不一定会位于最终的位置,因为不确定后面插入的元素对于前面的元素是否产生影响。

希尔排序(本质也是插入排序)只在子序列中直接插入排序。所以不能确定。

二路归并排序除非在缓存区一次放入所有的序列(这样得不偿失),否则不能确定最终位置。

所以能够在一趟结束后,就选出一个元素在其最终的位置上的排序是否就只有 :
简单选择排序快速排序冒泡排序堆排序

转载自 牛客网

你可能感兴趣的:(数据结构与算法)