1. 程式人生 > >插入排序java實現

插入排序java實現

package algorithm;

public class InsertSort {

public static void main(String[] args) {
	int[] a = {6,2,5,4,7,1,3,9,8};
	insertSort(a, a.length);
	for (int i = 0; i < a.length; i++) {
		System.out.println(a[i]);
	}
}
	/**
	 * 
	 * @param a
	 * @param n  表示第n個位置
	 */
	private static void insert(int[] a, int n){
		int key  = a[n];
		int i = n;
		while(a[i-1] > key){
			a[i] = a[i-1];
			i--;
			if(i == 0){
				break;
			}
			
		}
		a[i] = key;
	}
	/**
	 * 
	 * @param a
	 * @param n  陣列長度
	 */
	private static void insertSort(int[] a, int n){
		//從第二個數字開始
		for (int i = 1; i < n; i++) {
			insert(a, i);
		}
	}

}