Java排序之插入排序

插入排序:将一个数据插入到已经排好序的序列中去,插入后保证序列依然有序,这个过程就是插入排序。

 

       现在给定一个未知是否排好序的数组,要将其进行从小到大排序。如果使用插入排序,必须先将该数据分为两部分,一部分是排好序的,一部分是未排序的,并且逐一将未排序的部分插入到已排序的部分中去。

 

算法步骤描述:

  1、选定数组第一个元素作为已排好序部分

  2、取下一个元素作为要插入元素与前面排好序的部分从后向前比较

  3、如果该元素大于插入元素,将该元素与插入元素交换

  4、重复步骤3,直到找到已排序的元素小于或者等于插入元素

  5、重复步骤2

 

程序代码:

     

public void insertSort(int[] a){
    
    if(a !=null){

          for(int i = 1; i < a.length; i++){
  
               int temp = a[i];
               int j = i;
               while(j >= 1 && a[j-1] > temp){
                
                     a[j] = a[j-1];
                      j--;

               }

               a[j] = temp;
 
        }

   }
}

 

你可能感兴趣的:(java,排序,算法,sort,插入)