·基本思想
首先,插入排序关键就是在于插入的方法,插入的方法不同,排序就不同,一种最简单的就是类似于选择排序,就是将数组中的后面的一个元素数组中的最后一个元素比较,如果后面是比前面的小,则交换,否则不交换。这种就是最直接的排序。
·重点
插入排序,关键就是要比较相邻的元素的大小,然后将小的元素的坐标记下,然后继续向前比较直到没有比他还小的。然后将最后的最小的数和刚开始比较的数交换。
·代码
public static void main(String[] args) {
int [] arr = {4,1,3,4,5,99,100,8,98,0};
for (int i = 1; i < arr.length; i++) {//记录次数
int e = arr[i];//从第二个开始计数
int j = i-1;//将第一个元素的角标给j
while(j>=0&&e<arr[j]) {//判断后面的元素是否大于前一个
arr[j+1] = arr[j];
j--;//如果前面的元素还有大于后面的继续执行该条件
}
arr[j+1] = e;//交换相应的元素
}
for (int i = 0; i < arr.length; i++) {
System.out.print(" " + arr[i]);
}
·总结
最后,插入排序和选择排序,一个从前遍历,一个逆向遍历,最终的结果都是一样的。这个插入排序的优势在于不用去反复交换数组元素,直接将最后找到最小的元素插入jiu