基本思想
在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
代码
public class Main{
public static void main(String[] args) {
int[] arr = new int[]{42,20,17,13,28,14,23,15};
System.out.println(Arrays.toString(arr));
InsertionSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void InsertionSort(int[] arr){
int temp = 0;
for(int i = 0;i<arr.length-1;i++){
for(int j =i+1;j<arr.length;j++){
if(arr[j]<arr[j-1]){
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}else {
break;
}
}
}
}
}