バブルソートの解答例2 【Javaのサンプルコード】
ここでは、当社の新人研修受講者に向けて、Javaのサンプルコードを紹介しています。
バブルソートの解答例2
以下のバブルソートは冗長な繰り返しがある。
フラグ(flg)を使って冗長な繰り返しをなくすように書き換えよ。
(配布の擬似言語をJavaに移植すること)
public class ArgoSortBubble1 { public static void main(String[] args) { int[] data = {15, 5, 20, 34, 23}; sort(data); for (int element : data) { System.out.print(element + " "); } } public static void sort(int[] tbl) { int cnt = tbl.length - 1; while (cnt > 0) { int i = 0; boolean flg = false; while (i < cnt) { if (tbl[i] > tbl[i + 1]) { int tmp = tbl[i]; tbl[i] = tbl[i + 1]; tbl[i + 1] = tmp; flg = true; } i++; } if (flg) { cnt--; } else { cnt = 0; } } } }
もちろん、単に並べ替えを実現したいのでしたらArraysクラスのsortメソッドが手っ取り早いです。
これは、単なるアルゴリズム習得用の演習です。
import java.util.Arrays; public class ArgoSortBubble2 { public static void main(String[] args) { int[] data = {15, 5, 20, 34, 23}; Arrays.sort(data); for (int element : data) { System.out.print(element + " "); } } }
参考:
なし