简单排序:插入排序

    public void insertSort(int[] array){
        int temp;
        
        for(int i=1;i<array.length;i++){
            temp = array[i];
            
            for(int k=i-1;k>=0;k--){
                if(array[k] > temp){
                    array[k+1] = array[k];
                    
                    if(k == 0){
                        array[k] = temp;
                    }
                }else{
                    if((k+1) < i){
                        array[k+1] = temp;
                    }
                    break;
                }
            }
        }
    }


效率:
需要进行N(N-1)/2次比较,平均进行N*(N-1)/4次交换,时间复杂度为:O(N^2)

你可能感兴趣的:(插入排序)