选择排序法指每次选择所要排序的数组中的最大值(若由小到大排序则选择最小值)的数组元素,将这个数组元素的值与最前面没有进行排序的数组元素的值互换。以数字9、6、15、4、2为例,采用选择法实现数字按从小到大进行排序,每次交换的顺序如下:
初始数组:【 9 6 15 4 2 】
第一次排序后:2【 6 15 4 9 】
第二次次排序后:2 4【 15 6 9 】
第三次排序后:2 4 6【 15 9 】
第四次排序后:2 4 6 9 15
从中我们可以发现,在第一次排序过程中将第一个数字9和最小的数字2进行了位置交换;第二次排序过程中,将第二个数字6和剩下的数字中最小的数字4进行了位置交换;第三次排序将第三个数字15和剩下的数字中最小的6进行了位置交换;第四次将剩下的15和9交换了位置,最终得到该数组从小到大的排列顺序。
下面以对实例“利用选择法将学生成绩进行排序”进行分析。
在本实例中,声明了一个整型数组和两个整型变量,其中整型数组用于存储用户输入的数字,而整型变量用于存储数值最大的数组元素的数值和该元素的位置,然后通过双层循环进行选择法排序,最后将排好序的数组按从高到低的排列顺序进行输出。具体代码如下:
运行结果如下: