二値をソートするプログラム
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の値の交換は完了です。