五种排序算法---选择排序
一、介绍
选择排序(Selection sort)是一种简单直观的排序算法。其基本思想是:首先在未排序的数列中查找到最小或最大元素,然后将其存放到数列到起始位置;接着,再从剩余未排序的元素中继续寻找最小或最大的元素,放到以排序序列的末尾。依此类推,直到所有元素排序完毕。
二、图解
以数列{20,40,30,10,60,50}为例,演示其选择排序过程如下图所示:
排序流程如下:
第1趟:i=0。找出a[1...5]中的最小值a[3]=10,然后将a[0]和a[3]互换。数组变化:20,40,30,10,60,50-->10,40,30,20,60,50。
第2趟:i=1。找出a[2...5]中的最小值a[3]=20,然后将a[1]和a[3]互换。数组变化:10,40,30,20,60,50-->10,20,30,40,60,50。
第3趟:i=2。找出a[3...5]中的最小值,由于未排序元素中最小值均大于a[2]。因此该趟不做处理。
第4趟:i=3。找出a[4...5]中的最小值,由于未排序元素中最小值均大于a[3]。因此该趟不做处理。
第5趟:i=4。交换a[4]和a[5]的数据。数组变化:10,20,30,40,60,50-->10,20,30,40,50,60。