排序算法思想及其C语言实现

排序算法汇总

一、选择排序法

查找最小数字并进行交换

以对8个数字进行排序为例:
排序算法思想及其C语言实现

对下面八个数字进行从小到大的排序,我们采用的方案是先从八个数字中找到最小的数字,在这里就是将1和最左边的7交换位置,这之后1的位置固定下来。
排序算法思想及其C语言实现
接下来我们在剩下的数字里寻找最小数,将最小的4和左边第二个数字对换位置,于是4和13也交换了位置。
排序算法思想及其C语言实现
我们发现什么呢?

每一次的交换可以称为一轮,到了第k轮,就把剩下数字中最小的一个和左边开始第k个数字进行交换。于是在第k轮结束的时候,从左数第k个数字便按照从小到大的顺序排列了,只要将这个步骤重复n次,所有的数字都将会按照从小到大的顺序排列。