[排序] 插入排序(Insert Sort)

 /**
  * 插入排序
  * @param data:等代排序整型数组
  *     data = { 92, 77, 67, 8, 6, 84, 55, 85, 43, 67 }
  *     排序结果:
  *        第 1 次排序:77 92 67 8 6 84 55 85 43 67 
  *        第 2 次排序:67 77 92 8 6 84 55 85 43 67 
  *        第 3 次排序:8 67 77 92 6 84 55 85 43 67 
  *        第 4 次排序:6 8 67 77 92 84 55 85 43 67 
  *        第 5 次排序:6 8 67 77 84 92 55 85 43 67 
  *        第 6 次排序:6 8 55 67 77 84 92 85 43 67 
  *        第 7 次排序:6 8 55 67 77 84 85 92 43 67 
  *        第 8 次排序:6 8 43 55 67 77 84 85 92 67 
  *        第 9 次排序:6 8 43 55 67 67 77 84 85 92 
  */
 public void insertSort(int data[]) {
  int k, temp, max = data.length;

  for (int i = 1; i < max ; i++) {
   temp = data[i];
   k = i - 1;
   while (temp < data[k]) {
    data[k + 1] = data[k];
    k--;
    if (k == -1)
     break;
   }
   data[k + 1] = temp;

   System.out.print("第 " + i + " 次排序:");
   for (int j = 0; j <= max - 1; j++) {
    System.out.print(data[j] + " ");
   }
   System.out.println();
  }
 }

阅读更多

没有更多推荐了,返回首页