JAVAソートアルゴリズムのバブルソートを実現


バブルソート
配列の各要素を最初から最後まで順に比較する隣接する2つの要素は、1ラウンド目の比較ソートを経て、最大(または最小)の要素を並べ、残りの要素を同じ方法で1つずつ比較すると、所望の順序が得られます.nの要素があれば、全部でn-1ラウンドの比較を行い、iラウンド目はj=n-i回の比較を行うことがわかります.(例えば:5要素がある場合は5-1ラウンドの比較を行い、3ラウンド目は5-3回の比較を行う)
次に、具体的な実装(小さいものから大きいものまで、大きいものから小さいものまで)について説明する.コードif(arr[i]>arr[j])をif(arr[i]JAVAコード:

public class Maopao {

	public void sort(int[] arr){
		System.out.println("   :");
		for(int i = 0; i < arr.length; i++ ){
			System.out.printf("%3s", arr[i]);      
		}
		System.out.println();
		System.out.println("----------------------------------");
		for(int i = 0; i < arr.length; i++){
			for(int j = i + 1; j < arr.length; j++){
				if(arr[i] > arr[j]){
					int temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp; 
				}
			}
			System.out.println(" "+(i+1)+"    :");
			for(int k = 0; k < arr.length; k++){
				System.out.printf("%3s", arr[k]); 
			}
			System.out.println();
		}
		System.out.println();
		System.out.println("----------------------------------");
		System.out.println("     :");
		for(int i = 0; i < arr.length; i++){
			System.out.printf("%3s", arr[i]); 
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int[] a = {10, 32, 1, 9, 5,3, 7, 12, 0, 4,4, 3};
		Maopao mp = new Maopao();
        mp.sort(a);
	}

}