插入排序 Insertion Sort 作者:哇塞大嘴好帅(我爱大嘴网)
作者:哇塞大嘴好帅(我爱大嘴网)
1.思路
插入排序演示视频:https://www.youtube.com/watch?v=OGzPmgsI-pQ
比如有5个数字,{25,14,52,63,66} 先从下标为1开始判断它前一个是否比他大,如果比它下标-1大那么就交换,但必须有一个条件,当前下标-1必须大于0因为不大于0会越界。
2.代码实现
package com.dazuizui.insertionSort;
/**
* @author YiDa Yang
* Insertion sort
*/
public class InsertionSort {
public static void main(String[] args) {
int[] array = {25,99,25,17,30,54,696,78,91,45};
int temp = 0;
//start insertion sort
//如果当前下表和 当前下标-1相比大 那么就交换位置,然后从第二个 第三个 .....
for (int i = 1; i < array.length; i++) {
for (int j = i; j > 0; j--) {
if (array[j] < array[j-1]){
temp = array[j-1];
array[j-1] = array[j];
array[j] = temp;
}else{
//如果不满足条件就结束循环
break;
}
}
}
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}