package T201509; import java.util.Arrays; /** * 第一個(gè)算法:插入排序法 輸入一組數(shù)據(jù),然后按升序輸出 * 原理: 假想手上拿了一手雜亂無(wú)章的牌,要把它排好順序 * 我們從左邊第二張牌開(kāi)始,抽出這張拍,拿它左邊的每一張牌[從近到遠(yuǎn)]和抽出的這張牌作比較,如果比抽出的牌大,就往后面挪一個(gè)位置,直到找到比抽出的牌還小的那張牌的位置。 * 然后把抽出的牌放到這個(gè)位置,依次類推第三,第四張牌... */ public class T20150901 { public static int[] insertSort(int arr[]) { int[] n = arr; int i, j, key; for (i = 1; i < n.length; i++) { key = n[i]; j = i - 1; while (j >= 0 && n[j] > key) { n[j + 1] = n[j]; j--; } n[j + 1] = key; } return n; } /** * 測(cè)試 */ public static void main(String[] args) { System.out.println(Arrays.toString(insertSort(new int[] {3,5,7,0,11,33,3, 11,0, 9, 2, 4 }))); } } |
|
來(lái)自: 昵稱19403296 > 《算法》