最近は、学習アルゴリズムのJavaの練習をしたいし、その後、実際には、配列の先頭は、あなたが走り書きからソートされ表示されませんでした、小さな問題から重複したエントリを削除LeetCodeにソートされた配列を打つかのためのアウトよりもソートツリーグループ、シャンハオは多くを書く感じ。そして、私は配列をソートするために、バブル法の下で確認したかった、あなたのズボンの座席を書き、ええと......最終的な選択は、ソートとなっている書いた......
バブルシンプルかつ選択的なソート方法を紹介。
バブル法は、徐々に(一番)最後の最大値を取得し、最小(最後)の前に、ほとんどを取得するには、対比較ペアごと交換です。多くのオンライン例があります。
選択ソート方法は、(最後)の前に最も最小にするたびに選択し、次に内部残数から最小の内部と第2の場所に(第2の最後に)選択されます。
1つの パブリック クラスソリューション{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 のint [] NUMS = {10、12 ,. 6 ,. 4 ,. 8 ,. 3 ,. 7、23で、65であり、12れる}; 4 用(int型 Iは0 =;私はnums.lengthを<; Iは++){ // 最初のループの 5 int型のn-NUMS = [I] = I、変更; //はループが何かを必要とするための第二の定義 6。 ため(INT I = J; J <nums.length - 1; J ++){ // 各時刻jは=私は、何をしたいように、i番目の場所であり、後私は最小のビットを選択 7。 IF(NUMS [J 。1 + <N-){ //nより次に小さい場合、に等しいNせ、nについてループの終了時に最小である 8。 N = NUMS [Jの+ 1 ]; 9 } 10 のために(INT X = 0; X <nums.length; X ++) { // ループのための役割がビットの最小数を見つけることであるとレコードとその 11。 IF - (N == NUMS [X]){ 12は =の; X 13は } 14 } // ための内側端部 15 } // アウター用端 16 変更NUMSは= [I]。 // 最小と交換 。17 NUMS [I]は= ; NUMS [A] 18である NUMS [A] = 変更を、 19 } 20れている ため(INT X:NUMS){ // foreachのアレイ出力 21である のSystem.out。印刷( "" + X); 22である } 23は、 24 } 25 }
たぶん私は無意識のうちに選択して、ソート......実行速度はかなり短いように、将来はこのような小さな実践のためのより多くなり、より明確にそれのいくつかを考えて感じました。