温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
下一个我们要讲的这个排序方法呢,对叫什么叫插入排序。插入排序,那这个插入排序它是什么呢?我们来做一个基本介绍,还是哈,插入是排序,属于内部排序法,就它也是在把它加载到内存里面进行排序的,是对预排序的元素以插入的方式寻找该元素的适当位置,以达到排序的目的。这句话说了呢,大家也不知道在说什么,那我们就来看他的一个排,插入排序的一个思想,插入排序的基本思想是。如此这般的,它是把N个带排序的元素看成是一个有序列表和一个无序列表。什么意思?就是他把N个看成一个有序和一个无序的,那么刚开始这个有序列表只有一个元素。比如说呃,我们有五个元素,把第一个就看成一个有序的,那后面的呃四个元素就是无序的。
01:04
明白意思吧。然后排序过程中,每次从无序表中取出一个元素,把它的排序码依次与有序表进行这个比较,将它插入到有序表的适当位置之,使之成为新的有序表。那这个呢,如果还不清楚,我们看一个图,那同学们看这个图就应该比较的清晰了,那同学们看,就说这边是一,大家看这是一个数组,就是17,三,25 14 20。二九,那么他首先把谁当成一个有序的呢?十七十七一个你不管不论是从小到大,还是从大到小都都是他吧,啊所以说这个就没有问题,那第一次插入的时候呢,我就找谁呢,我不比较啊,我不往后面找,我就给三。我给这个,我把这个三插入到这个有序表里面去,但是我我这个三到底加到这个时期里面的哪一个位置呢。
02:04
要你去找。所以说他在找呢,他发现诶这个山比这个17要小,所以他会把这个17往后面挪一下,挪到这个位置,挪到这个位置其实就把山给。覆盖了,但是你不用担心,因为这个这个待插入的数据已经被保存了,所以说他挪完了过后,他发现这个山应该在这个位置,他把三就插入到这个位置了。第一次就完成这个事儿。第一次第二次呢,他又把这个他又给他又在这个给25在这里面找一个有序位置,也是从后从后面开始比较啊,同学们一定要注意,它是从后往前比较。那么这样更方便,那25先跟27比较,发现发现这个25比17大。那就把这个哦不25:17它就对了,直接插入这个位置。同样他在十又给14在这个里面找,找到一个位置又插入,然后再给20在这个数据里面找,又把20插入到这个位置,再给九找一个位置,找到这个游戏里面操作九这个位置,所以说这个一共会进行几次,几次这样的一个添加呢?
03:13
那你一共有六个数据,我就会下进行这个五次的添加就没问题,好,那这个思路大家是不是也觉得挺挺简单的是吧。这里面主要有个移动的,移动的这个过程大家是不是感觉到很很恐怖。啊,因为它一旦移动这个稍微不注意就会出问题,那这样还是老规矩,我们。我如果我不让你写整个,我让你写第一次写的出来吗?所以第一次我都不知道怎么写,那我们先来看一个,这个思路大家应该都清晰了哈,思路清晰了来,我们截。
我来说两句