前言:
冒泡排序在学校里面多多少少都学过,不知道老师怎么教你们的,我今天介绍一个新的方法:用手学插入排序
不是说这种方法多好,而是排序有八种不容易记住,学会大家都能学会,能记住才是王,用这种方法记忆,不容易忘。
学习的时候不用多少数就来五个数对应五个手指
int[] nums = {5,4,3,2,1};
//就这五个最极端的数
5对应小拇指,依次往下排,大拇指对应1
请把各位高贵的右手伸出来
把手张开,从头到尾两两比对,第一次5和4比,这俩手指合在一起,5>4,5和4交换(手指对应 的数看图就行)
接住跟着做,把手指全张开,5和3对应的手指合上,5和3比对,5>3,5和3交换
之后,把手指全张开,5和2对应的手指合上,5和2比对,5>2,5和2交换
把手指全张开,5和1对应的手指合上,5和比对,5>1,5和1交换
这时,5来到了最后,重点来了,把大拇指所对应的手指合上
我为了让你们学会我把我的大拇指砍了,现在只有四个数了
现在来到4这个手指头重复上面的过程,4来到了最后,之后把4手指结束后的手指合起来。
现在用3所这个手指头重复上面的过程,3来到了最后,之后把3手指结束后的手指合起来。
这时候就剩两个手指了,用2所这个手指头重复上面的过程,但是不要把2对应的手指合起来。
总结思路:冒泡排序就是多次冒泡交换(冒泡交换默认都会),从头开始通过两两比对,每一次都会把最大的数换到最后,然后下一次排序不带这个最大的数,依次重复。
那么进行多少次?
我们上面有五根手指,是不是最后有三个手指(第一次也算一次,但没有手指头合起来,你可以理解成下标从0开始)合起来,意思是,五个数,进行四次排序。你可以用两个手试一下,最后都是手指头的数-1次。
再细化到每一次有几个手指进行排序。
第一次五个手指,第二次四个手指,第三次三个手指,第四次两个手指。
每一回都排完-1,再进一步是不是手指的个数从第二次排序开始依次-1。
排序的技巧:第一次循环关注排几次,第二次循环关注怎么排
我这绿色的idea 还是很骚的。自己回去敲代码,学会不厉害,得记得住。学这个算法的人大多数都是大二,不要看会就行,要写代码。还有看不懂我的swap只能说明你基础忘了,回头复习。
我能进大厂全是因为基础好。
我是新人博主期待你的关注,关注我,我带你打基础,一起进步,一起进大厂。
点赞也行啊,动动你们高贵的手,球球了。



