package T201509; import java.util.Arrays; /** * 第一个算法:插入排序法 输入一组数据,然后按升序输出 * 原理: 假想手上拿了一手杂乱无章的牌,要把它排好顺序 * 我们从左边第二张牌开始,抽出这张拍,拿它左边的每一张牌[从近到远]和抽出的这张牌作比较,如果比抽出的牌大,就往后面挪一个位置,直到找到比抽出的牌还小的那张牌的位置。 * 然后把抽出的牌放到这个位置,依次类推第三,第四张牌... */ 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; } /** * 测试 */ 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 }))); } } |
|
来自: 昵称19403296 > 《算法》