美文网首页
插入排序

插入排序

作者: 历十九喵喵喵 | 来源:发表于2020-12-01 09:14 被阅读0次

    思想:给一组数组,当这个数组分为两个数组,一个有序,一个无序。从第二数开始,后面一整个数组都是无序的,每个都需要遍历一遍,将无序的数与前面有序的相比较,插到前面有序的数组中。

    具体实现:

    首先,循环从第二个数开始,遍历长度是整个数组。

    要拿当前的数字 i 与前面一个数字进行比较,先把这个数字用一个临时变量存起来。

    开始拿当前数字的前面的数字进行比较,从后往前开始比较遍历, j = i -1; 遍历的条件是 前面的数字的下标 要大于 0,防止越界,而且 当前数字要比前面的数字小才进行遍历,即 j>0 && temp < arr[j]

    遍历过程中,条件成立,当前数字比前面的数字小,则把前面的数字往后挪,即把前面的数字赋给后面的数: arr[j+1] = arr[j];

    直到遍历完成,需要把临时变量赋给当前不成立条件的数字的下一位数字。

    代码:

    相关文章

      网友评论

          本文标题:插入排序

          本文链接:https://www.haomeiwen.com/subject/oyurwktx.html