ソートアルゴリズム(二)バブルソート


要点:バブルのコアは交換と遍歴であり、1つの遍歴に交換がない場合、変更キューはすでに秩序化されています.
上記の点に基づいて,識別変数を追加し,交換状況を記録し,バブルソートを最適化することができる.じょうふごう
   
public static void main(String[] args) {
		int[] a = {1, 5, 88, 4, 5, 0, 84, 69, 12, 5, 10, 254};
		System.out.println(Arrays.toString(a));
		optimizBubbleSort(a);
		System.out.println(Arrays.toString(a));
	}
	
	public static void optimizBubbleSort(int[] a){
		if(a!=null&&a.length>0){
			int len = a.length;
			for(int i = 0;i<len;i++){
				boolean trans = false;  //      
				for(int j=0;j<len-1-i;j++){
					if(a[j]<a[j+1]){
						int t = a[j+1];
						a[j+1] = a[j];
						a[j] = t;
						trans = true;
					}
				}
				if(!trans){
					break;
				}
			}
		}
	}