简单选择排序法
作者:野牛程序员:2023-05-09 11:35:01算法阅读 2388
选择排序法也是比较简单的排序算法,其思路比较直观,即在每步中选取最小值来重新排列,从而达到排序的目的。
选择排序(Selection Sort)的基本思想:
对n个记录进行扫描,选择最小的记录,将其输出,接着在剩下的n-1个记录中扫 描,选择最小的记录将其输出……不断重复这个过程,直到只剩一个记录为止,即可完成数据从小到大的排序过程。
提示 如果要求数据按从大到小排序,则每次扫描时选择最大的记录即可。
选择排序常用的算法有:简单选择排序和堆排序。
简单选择排序法类似人的排序习惯:
(1)首先从原始数组中选择最小的一个数据,将其和位于第1个位置的数据交换位置。
(2)再从剩下的n-1个数据中再选择最小的一个数据,将其和位于第2个位置的数据交换位置。
(3)不断重复上述过程,直到最后两个数据完成交换。
下面以一组待排序的数据演示简单选择排序的过程,假设有8个需要排序的数据序列如下所示:
69,65,90,37,92,6,28,54
使用简单选择排序法进行排序的过程如下图所示。
1、首先对数组中的原始数据进行扫描,找到最小的一个数6,与第1个元素69进行交换,完成第一遍选择排序的结果,
2、然后不断 重复这个过程,到第7遍扫描后,完成整个数据序列的排序。
注意 在简单选择排序法中,某一遍扫描没有数据交换并不能说明数据就已经按顺序排好了,还必须进行后续的扫描
最后,便完成了对原始数组从小到大的排序。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892