タイトル説明
配列Aと端末AはBを収容するのに十分なバッファ空間で所定の二ソートするB ソート組み込まA及びBの調製のための方法。
要素AとBの数を初期化し、mおよびnは。
例:
入力:
。A = [1,2,3,0,0,0]、M = 3
。B = [2,5,6]、N- = 3
出力:[1,2,2,3,5,6]
問題解決のためのアイデア
2つの関数アレイの併用のarraycopy
その後は、Arrays.sort(アレイ)に
コードは以下の通りです
輸入java.util.Arrays。
パブリック クラスマージ{
公共 ボイドマージ(INT [] A、INT M、INT [] B、INT N){
System.arraycopyの(B、 0 、A、M、N)。
Arrays.sort(A)。
}
}
その他のソリューション
公共 ボイドマージ(INT [] A、INT M、INT [] B、INT N){ int型 K = M + N-1、I = M-1、J = N-1 。 一方、(I> = 0 && J> = 0 ){ 場合(A [i]が< B [J]){ A [K - ] = B [j-- ]。 } 他{ A [K - ] = A [i-- ]。 } } 一方(J> = 0)A [K - ] = B [j-- ]。 }