泡が立つ


アルゴリズムの中で比較的に経典で、大学の中でデータ構造の対次アルゴリズムを学んだことがある限り、よく知らないことはないと信じています.次のコードを見てください.
public int[] sort(int[] array){
		for(int i = 0; i < array.length-1; i++){
			for(int j = i; j < array.length-1; j++){
				if(array[j] > array[j+1]){
					int temp = array[j];
					array[j] = array[j+1];
					array[j+1] = temp;
				}
			}
		}
		return array;
	}

やはり泡が立つ過程を説明します:隣接する2つのデータを比較して、左の値が右の値より大きいならば、この2つの値を互いに交換して、左の値が右の値より小さいならば、この2つの値は変わらないで、右の値は引き続き次の値と比較して、この操作を再開して、最後の値まで比較することを知っています.
この方法は、比較するたびに位置を交換するように、その最大者を配列の末端に移動し、水底から水面に浮かぶように水泡が水面に着くと気泡が最大となるので、泡ソート法と呼ばれる.
バブルソートの利点は,データがすでに部分的にソートされている場合,このアルゴリズムを用いてソートを迅速に完了できることであり,欠点はデータを繰り返しスキャンし,隣接する2つのデータを比較する必要があり,速度が速くなく効率的ではないことである.安定性ソート法に属する.