直接选择排序的过程:
首先在所有记录中选出排序码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换……依次类推,直到所有记录排完为止。
无论文件初始状态如何,在第i趟排序中选出最小关键字的记录,需做n–i次比较,因此,总的比 较次数为n(n–1)/2=O(n2)。当初始文件为正序时,移动次数为0;文件初态为反序时,每趟排序 均要执行交换操作,总的移动次数取最大值3(n–1)。
直接选择排序的平均时间复杂度为 O(n2),是不稳定的。
代码实现:
结果:
直接选择排序
最新推荐文章于 2024-02-18 23:21:43 发布