排序算法 -------未完待续

 排序算法    

  

直接插入排序 

package cn.suanfa;


/**
 * 直接插入排序
 * @author lqf
 *
 */
public class insert {
    public static void  main(String[] args) {
        int a[]= {3,-1,9,0,1,4,4,1};
            
           new insert().insertSort(a);
           
           for (int i : a) {
            System.out.print(i+ " ");
        }
    }
    
    public void insertSort(int[]a){
        int j; 
        for(int i=1; i<a.length;i++) {
             
              int temp = a[i];
                // 以此和前面的数据比较比较       移位操作   
                 for( j=i-1 ; j>=0&&a[j]>temp;j--) {
                     //移一位
                     a[j+1] = a[j];
                    
                }
                 //           插入temp
                 //System.out.println(j+1);
                a[j+1] = temp;
                
                // 每次执行一遍  打印一遍
                   for (int k : a) {
                    System.out.print(k+ " ");
                    
                }
                   System.out.println();
         }     
    }
}

   平均时间   n^2      最好时间    n             最差时间   n^2   

posted @ 2019-06-13 16:01  寂静生长  阅读(260)  评论(0编辑  收藏  举报
/* 看板娘 */ /* */