package com.wzs;
import java.util.Arrays;
/**
* 算法导论--page10
*
* @author Administrator
*
*/
public class InsertionSort {
public static void main(String[] args) {
int arr[] = { 5, 2, 4, 6, 1, 3 };
System.out.println("排序前:" + Arrays.toString(arr));
insertionSort(arr);
System.out.println("排序后:" + Arrays.toString(arr));
}
/**
* 插入排序算法
*
* @param arr
* 需要排序的数组
*/
static void insertionSort(int[] arr) {
// 第i个元素插入已经排好序的i-1个元素中
for (int i = 1, length = arr.length; i < length; i++) {
int temp = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > temp) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = temp;
}
}
}