package demo;
/**
* 插入排序;
*
* @author Lynn
*
*/
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {10,7,2,4,8,6,1,9};
System.out.print("排序前:");
printArr(arr);
insertionSort(arr);
System.out.print("排序后:");
printArr(arr);
}
private static void insertionSort(int[] arr) {
for(int i=1;i<arr.length;i++) {
int temp = arr[i];//i为待插入;
int j =0;
for(j = i-1;j>=0;j--) { //从后往前;
if(arr[j]>temp) {
arr[j+1]=arr[j];//后移;
}else {
break;
}
}
arr[j+1]=temp;
}
}
/**
* 打印数组;
* @param arr
*/
private static void printArr(int[] arr) {
if(arr==null) {
return ;
}
for(int i =0;i<arr.length;i++) {
if(i!=arr.length-1) {
System.out.print(arr[i]+" ");
}else {
System.out.print(arr[i]);
}
}
System.out.println();
}
}
转载于:https://www.cnblogs.com/LynnMin/p/9529526.html