1、一、简单选择排序一句话概括:每次选择无序数列中最小的将其放在有序数列的最后。
![C语言排序算法:[3]教你理解简单选择排序。](https://exp-picture.cdn.bcebos.com/fdb4f00d3aceaad7bf240356eee7340f6578b8e7.jpg)
2、二、在简单选择排序中,我们用初始化的数字int a[6]={2,5,6,3,1,4}
3、三、算法基本执行步骤1:找到初始的无序数组中最下的数,将其放在数组的头部。交换最小数和数组头部元素即可(这是与冒泡有区别的地方)。
4、三、算法基本执行步骤2:将剩余的无序数列继续执行1,直到遍历完。
5、四、实现代码部分。
![C语言排序算法:[3]教你理解简单选择排序。](https://exp-picture.cdn.bcebos.com/1562a0b9763e21c26d99ee64e6e89a618725b1e7.jpg)
6、五、运行结果。
![C语言排序算法:[3]教你理解简单选择排序。](https://exp-picture.cdn.bcebos.com/b1454a1bd10ff226ecd53eba9c99e92abbb8a4e7.jpg)
7、六、效率分析代码。在比较次数上为n*(n-1)/2,时间复杂度为o(n*n)。
![C语言排序算法:[3]教你理解简单选择排序。](https://exp-picture.cdn.bcebos.com/6bbfdd14f1c595eeaa8eb89327530688902c9ae7.jpg)
8、七、在最好的情况下,数字初始有序则只需要比较即可,不存在交换操作。
![C语言排序算法:[3]教你理解简单选择排序。](https://exp-picture.cdn.bcebos.com/906dbbcadce89048f3b37843130e5f20427192e7.jpg)
9、八、在最差情况下,数字初始逆序。同样时间复杂度为o(n*n)。
![C语言排序算法:[3]教你理解简单选择排序。](https://exp-picture.cdn.bcebos.com/5e9a2820b93acd89dc8a29bb0335dd8a58de8be7.jpg)