分類コードをマージ

パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){
         INT [] A = {5,2,6,3,1,10,9 }。
        マージ(A、 0、A.length - 1 )。
        以下のためにint型 i = 0; iはA.lengthを<; iは++ ){ 
            System.out.print(A [i]が + "" )。
        } 
        のSystem.out.println(); 
    } 

    パブリック 静的 ボイドマージ(INT [] Aは、intです左、int型{右)
         であれば(左< 右){
             int型ミッド=左+(右-左)/ 2 
            マージソート(A、左、中)。
            マージ(A、中間 + 1 、右)。
            マージ(A、左、中央、右)。
        } 
    } 
    パブリック 静的 ボイド(マージをint [] A、int型、左INT、中間値int {右)
         INT 1 +左- lenL =ミッドint型 lenR =右- 中旬。
        INT [] AL = 新しい INT [lenL + 1 ]。
        INT [] AR = 新しい int型[lenR + 1 ]。
        以下のためにint型 i = 0; iはlenL <; iは++ ){ 
            AL [I] = A [左+ I]。
        } 
        のためにint型 i = 0; iがlenRを<; Iは++ ){ 
            AR [I] = A [中間+ I + 1 ]。
        } 
        AL [lenL] = Integer.MAX_VALUEの; 
        AR [lenR] = Integer.MAX_VALUEの;
        int型 I = 0、J = 0 ;
        int型の k個++;右= <K左K = {)
             であれば(AL [i]が<= {AR [J])
                [K] =AL [I]。
                I ++ ; 
            } 
            エルス{ 
                [K] = AR [J]。
                J ++ ; 
            } 
        } 
    } 
}

出力:

1 2 3 5 6 9 10

おすすめ

転載: www.cnblogs.com/zhaijiayu/p/11609748.html