选择排序,可以简单理解为:都和当前最大(或最小)的数比较大小,从而把最大(或最小)的数选择出来。比如下面这个例子:
10个数按照从大到小的顺序排列,首先第一个数和第二个数比,如果第一个数大则再和第三个数比,否则就第二个数和第三个数比;总之就是依次和最大的数比较大小,依次类推,这样比较9次之后,就能得到最大的数了。把最大的数找到之后,其他数仍然按照这个规则比较,最终就能做出排序。
如下示例:随机一个列表,要求我们按照选择排序从大到小排序,并把排序后的数据放到第二个列表中。
关于列表,我们之前讲过,这里不多叙述。
按照上面的讲的选择排序方法,先假设第一个位置是最大的数,我们把最大数的位置定义为“最大的项”,每个数都是和当前“最大的项“的数比较。每次循环我们都能找到当前最大的数。代码如下:
下一章节,我们将讲述冒泡法。在学习算法过程中,一定要明确原理和规律,要有对照,这和学数学是一样的,切不要死记硬背!