5人の学生の身長を ソート

明解C言語 入門編 > 12. 構造体 >

5人の学生の身長を ソート

Java
class Lesson088 {
    static final int NINSU = 5;

    public static void main(String[] args) {
        int[] height = {178, 175, 173, 165, 179};

        System.out.println("ソート前:");
        for (int i = 0; i < NINSU; i++)
            System.out.printf("%2d:%4d\n", i + 1, height[i]);
        System.out.println("");

        sort(height, NINSU);

        System.out.println("ソート後:");
        for (int i = 0; i < NINSU; i++)
            System.out.printf("%2d:%4d\n", i + 1, height[i]);
    }

    static void sort(int data[], int n) {
        int k = n - 1;
        while (k >= 0) {
            int j = -1;
            for (int i = 1; i <= k; i++) {
                if (data[i - 1] > data[i]) {
                    j = i - 1;
                    int tmp = data[i];
                    data[i] = data[j];
                    data[j] = tmp;
                }
            }
            k = j;
        }
    }
}

実行結果

L:\>java Lesson088
ソート前:
1: 178
2: 175
3: 173
4: 165
5: 179

ソート後:
1: 165
2: 173
3: 175
4: 178
5: 179