选择排序法可使用两种方式排序:从小到大或从大到小;例如:当N个数据需要由大至小排序时,首先将第一个位置的数据依次和第2、3、4……、N个位置的数据进行比较。如果数据大于或等于其中一个位置,则不变;若小于其中一个位置的数据,则两个位置的数据互换。互换后第1个位置的数据继续与后续位置的数据进行比较,直到位置最末端,此时第一个位置的数据即为此排序数组的最大值。接下来选择第二个位置的数据,依次与第3、4……、N个位置的数据进行比较,将最大值放入第二个位置。此循环方法直到N-1个位置的最大值找到后即可完成选择排序法由大到小的排列。下面仍然利用数组6、4、9、8、3的由小到大排序过程来说明选择排序法的演算方式。
原始数据:6、4、9、8、3
第一次扫描:先找到这个数组中的最小值,与第一个元素进行交换;
第一次扫描过程:第一个位置的数据与第2、3、4、5个位置的数据依次比较,如果第一个位置的数据小于等于其中一个位置的数据,则不变;若大于其中一个位置的数据则交换位置;则6与4比较,6>4,交换位置得4、6、9、8、3;因为第一个位置的数据发生了变化,因此,再次将第一个位置的数据与第3、4、5个位置的数据比较:4比9和8都小,因此不用交换位置,而4比3小,交换位置为:3、6、9、8、4
因此第一次扫描结果:3、6、9、8、4;
第二次扫描: