直接插入排序

插入排序思想:

每趟将一个元素,按其关键字大小插入到它前面已经排序的子序列中,使得插入后的子序列仍然是排序的,以此重复,直到全部元素插入完毕。

直接插入排序

** 步骤:**

  1. 从第一个元素开始,该元素可以认为已经被排序
  2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
  3. 如果被扫描的元素(已排序)大于新元素,将该元素后移一位
  4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
  5. 将新元素插入到该位置后
  6. 重复步骤2~5

代码实现:

	public static void insertSort(int[] table) {
		int len = table.length;
		int j;
		for (int i = 1; i < len; i++) {
			int temp = table[i];
			for (j = i - 1; j >= 0 && table[j] > temp; j--) {
				table[j + 1] = table[j];
			}
			table[j + 1] = temp;
			System.out.print("第" + i + "趟:  ");
			for (int a = 0; a < table.length; a++) {
				System.out.print(table[a]);
			}
			System.out.println();
		}
	}
posted @ 2017-02-21 12:00  starryfei  阅读(230)  评论(0编辑  收藏  举报