【JAVA】二値をソートするプログラム

二値をソートするプログラム

import java.util.Scanner;

public class test3_18 {

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.print("変数a:");
int a = stdIn.nextInt();

System.out.print("変数b:");
int b = stdIn.nextInt();

if(a < b) {

int t = a;
a = b;
b = t;

}

System.out.println("a>=bとなるようにソートしました。");
System.out.println("変数aは"+ a + "です。");
System.out.println("変数bは" + b + "です。");

}

}

2値のソート

2つの変数a,bに整数値を読み込んで、降順(大きい順),すなわちa>=bとなるようにソートする(並べ替える)プログラムです。

ソートの手順は以下のようになっています。

・aの値がbより小さいとき・・・aとbの値を交換する。 

・そうでないとき・・・何もしない(そのままでよい) 

aとbの値の交換を行う部分が以下です。

{

int t = a;
a = b;
b = t;

}

ブロックの先頭行で宣言されている変数tは、2つの変数の値を交換するのに必要となる変数です。

2値の交換

ブロック内で行っている<<二値の交換>>の手順を理解しましょう。

①aの値をtに保存しておく。 

②bの値をaに代入する。 

③tに保存しておいた最初のaの値をbに代入する。

この3つのステップでaとbの値の交換は完了です。