hello,大家好。我又来啦!今天来给大家讲一下排序算法。嘿嘿,这个呢,可以开阔大家的思路。
排序算法的作用和原理是将数组中的数值,按照执行的顺序,从小到大的进行排序
分为冒泡排序和选择排序两类
冒泡排序
核心: 相邻两个单元,比较数值大小,如果触发条件就交换存储数值
优化: 内层优化1: 只循环至倒数第二个单元,通过i+1,跟最后一个单元比较
内层优化2: 之前比较出的最大值,不再参与下一次的比较
外层优化 : n个单元,只循环n-1次,最后只剩一个单元时,不用循环
源码:
执行结果:
选择排序:
核心: 从起始位置开始,与之后的单元比较,如果触发条件,存储这个单元的索引下标
循环结束,如果索引下标不是起始位置下标,交换存储数值
优化: 内层优化: 之前比较出的最大值,不再参与下一次的比较
外层优化 : n个单元,只循环n-1次,最后只剩一个单元时,不用循环
源码:
执行结果:
总结:
选择排序的效率优于冒泡排序
冒泡排序,触发条件就执行数据交换,数据交换的操作比较繁琐
选择排序,触发条件只存储索引下标,最后只执行一次数据交换
选择排序 数据交换执行次数,少于 冒泡排序
最后,希望大家在逆境中坚持学习。春天马上就到来了。(逆战)