什么是选择排序法:它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。
排序算法即解决以下问题的算法:
输入
n个数的序列a1,a2,a3,...,an。
输出
原序列的一个重排a1*,a2*,a3*,...,an*;,使得a1*=a2*=a3*=...=an*
不明白的同学们就看效果图吧!
经过第七次选择排序,每次都将未排序数列中的最小数字置顶;
第一次排序:1被选择出来置于未排序数列的顶部;
第二次排序:2和6调换位置,被选择出来置于未排序数列的顶部;
第三次排序:3和6调换位置,被选择出来置于未排序数列的顶部;
第四次排序:4和7调换位置,被选择出来置于未排序数列的顶部;
第五次排序:5已经是未排序数列中的最小值,不需要和未排序数列中其他数字调换位置;
第六次排序:6和7调换位置,被选择出来置于未排序数列的顶部;
第七次排序:7和8调换位置,被选择出来置于未排序数列的顶部;
至此选择排序结束,我们可以看到,选择排序比冒泡排序更加优化,更加高效
其实这就是一个算法,需要同学们了解选择排序法的核心思想。
接下来程序设计图如下:
代码如下:
创建随机无序数列list子程序:
选择排序子程序
程序运行结果如下:
生成一个长度为30的随机数列,你可以检查一下,里面有没有重复数字?
回答数字“y”
排序结果如下:
PHP代码思路如下:
PHP代码如下:
JAVA思路如下:
代码如下:
Python代码如下:
同学们,你学会了吗?
这个时候,家长们你还认为编程就是给孩子增加一个兴趣吗?
计算机是不是很强大呀!但前提是你要会编程呀!只有会编程,你才能让计算机替
你解决问题呀!别担心,编程其实也没有想象那么难!只要你愿意学。
当然,无人机编程就更加深奥,比如我们看下面的视频吧!
00:15