运用递归学习新知识——插入排序
还是老样子,先讲一下插入排序的一个概念,比如校合唱团要按身高排队,从左到右由矮到高,小糖同学左边的同学已经按照身高站好了,右边还很乱,于是团长小蓝姐姐想了一个办法,她叫小糖同学往左看,小糖同学左边第一位叫男低1号,左边第二位叫男低2号,右边第一位叫男高1号,右边第二位叫男高2号,以此类推。。。小糖走到男低1号面前,如果男低1号比自己高,男低1号自己走到小糖的位置,空出一个位置,小糖接着去找男低2号,男低2号比他高,也是往右走,接着小糖走到男低3号面前,“哈哈哈终于有人比我矮了”,小糖心中暗自窃喜,开开心心地进入了男低3号的右边,男低二号的左边(这叫循环);有一天,小糖还是往左走,寻找排练的位置,他悲伤的发现,没有比他更矮的人,他只好站在最旁边(这叫循环条件),接下来,轮到男高一号跟小糖做一样的事情(这叫递归)。
这行图片,看到了俩跟一样的柱子,白色那个可以理解成,男低一号给小糖空出来的位置,因为,如果男低二号还是比小糖高,那么他会去那根白柱子那边站着,相反,小糖会去那根白柱子站着,为什么会出现白柱子呢,上代码
出现白柱子的原因,是图片中,我重点标注的代码,可以理解成,男低一号走后,白柱子是他留下的身影。