• 締切済み

並び替え

次のプログラムを使い配列:{4, 2, 9, 8, 11}を並べ替え表示するには、mainメソッドをどのように書けばいいのでしょうか。 public class InsertSort { public static void sort(int a[]) { for (int i = 1; i < a.length; i++) { int j, x = a[i]; for (j = i-1; j >= 0 && a[j] > x; j--) a[j + 1] = a[j]; a[j + 1] = x; } } }

みんなの回答

回答No.2

Anko_Motiさん もし、これが何か課題でなければ、#1のosamuyの回答の通り、java.utilパッケージにあるArraysクラスのsortメソッドが標準装備されているので、それを利用するのが良いですね。 独習や学校の課題で、このメソッドを使わなければならないなら、こんな感じです。 // 配列の生成 int[] intArray = new int[]{4, 2, 9, 8, 11}; // ソートメソッドの呼び出し InsertSort.sort(intArray); あと、最終的にはコーディングスタイルの問題で片付けられてしまいますが、sortメソッドの宣言は、「sort(int a[])」と「型+変数名+配列括弧」の順ではなく「 sort(int[] a)」と「型+配列括弧+変数名」の順で記載した方が良いです。 前者はあくまでC/C++プログラマに受け入れやすいために用意している文法なんです。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

Arrays.sort()とか。 public class test { public static void main (String args[]) { int[] a = { 2, 1, 0, 5, 3 }; Arrays.sort( a ); for ( int k = 0; k < a.length; k++ ){ System.out.println( a[k] ); } } }

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Arrays.html#sort(int[])

関連するQ&A