美文网首页
插入排序

插入排序

作者: 历十九喵喵喵 | 来源:发表于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