/* -------------------------------------------------- 隣接交換法によるソート(途中経過表示) -------------------------------------------------- */ import java.io.*; class Sort01_rinsetu_koukan_B { static final int youso=5; static int su[]=new int[youso]; // ------------------ mainメソッド ---------------------- public static void main(String[] args) throws Exception { num_input(); num_sort(); num_display(); } // --------------- 入力処理 num_inputメソッド ----------- static void num_input() throws Exception { int i; System.out.print(youso+"個の数字をソートします(隣接交換法)\n"); BufferedReader inp=new BufferedReader (new InputStreamReader(System.in)); String keybd; for ( i=0 ; i<=youso-1 ; i++ ) { System.out.print("-->"); keybd=inp.readLine(); su[i]=Integer.parseInt(keybd); } return; } // --------------- ソート処理 num_sortメソッド ----------- static void num_sort() // throws Exception なくてもよい { int n,k,w,i; n=youso-1; while ( n > 0 ) { k=0; while ( k < n ) { if ( su[k] > su[k+1] ) { w=su[k]; su[k]=su[k+1]; su[k+1]=w; } // ------------------ 5行追加 ----------------------- System.out.print("nが "+n+" の処理 "); for ( i=0 ; i<=youso-1 ; i++ ) { System.out.print(" "+su[i]); } System.out.print("\n"); // --------------------------------------------------- k++; } // ------------ 1行追加 -------------- System.out.print("\n"); // ------------------------------------ n--; } return; } // --------------- 表示処理 num_displayメソッド ----------- static void num_display() throws Exception { int i; System.out.print("\n小さい順に表示します\n"); for ( i=0 ; i<=youso-1 ; i++ ) { System.out.print(su[i]+" "); } System.out.print("\n"); return; } }