首页 > 代码库 > 排序算法FIVE:插入排序InsertSort

排序算法FIVE:插入排序InsertSort

 1 /** 2   *插入排序思路:O(n^2) 3 *    最外层一个循环,从第二个数到最后一个,变量为i 4 *        每个数存储在key变量中 5 *        变量j,是左边已经排好序的数组的上限 6 *        判断key与前面每一个数比较      1,3,5,2,4,6,8,5,9,10 7 *                            《------- 8 *            如果key小于前一个并且已经排好序的数组没有越界         9 *            调换两个数10 *        j向左移11 *        12 *        把key放在指定位置  j+113 *14 */15 16 public  class  InsertSort17 {18      public static  void insertSort(int[] resouceArr)19      {20     21          for(int i = 1 ; i <  resouceArr.length ; i++ )22          {23              int key = resouceArr[i] ;24              int j = i - 1 ; 25 26              while( j > 0 && resouceArr[j] > key)27              {28                  resouceArr[j+1] = resouceArr[j] ;29                  j = j - 1 ;30              }31              resouceArr[j+1] = key ; 32          }33      }    34 }

 

排序算法FIVE:插入排序InsertSort