詳解冒泡排序 -秒懂

詳解冒泡排序 -秒懂

        點關注不迷路,歡迎再訪!

精簡博客內容,儘量已專業術語來分享。
努力做到對每一位認可自己的讀者負責。
幫助別人的同時更是豐富自己的良機。

冒泡排序算法是所以排序算法中最簡單、最基本的一種。冒泡排序算法的思路就是交換排序,通過相鄰數據的交換來達到排序的目的。

冒泡排序算法通過多次比較和交換來實現排序,其排序流程如下:
1.對數組中的各數據,依次比較相鄰的兩個元素的大小。
2.如果前面的數據大於後面的數據,就交換這兩個數據。經過第一輪的多次比較排序後,便可將最小的數據排好。
3.再用同樣的方法把剩下的數據逐個進行比較,最後便可按照從小到大的順序排好數組各數據。

	public static void main(String[] args) {
		int [] scores = {6,4,0,7,5,3};
		int temp; //定義臨時變量
		
		for (int i = 1; i < scores.length; i++) {   //控制排序次數
			for (int j = 0; j < scores.length-i; j++) {
				if(scores[j] > scores[j+1]) {  //將相鄰兩個數進行比較,較大的數往後冒泡
					temp = scores[j];
					scores[j] = scores[j+1];
					scores[j+1] = temp;
				}
			}
			System.out.print("第"+i+"步排序結果:"); //輸出每步排序的結果
			for (int k = 0; k < scores.length; k++) {
				System.out.print(" "+scores[k]);
			}
			System.out.print("\n");
		}
		
	}

第1步排序結果: 4 0 6 5 3 7
第2步排序結果: 0 4 5 3 6 7
第3步排序結果: 0 4 3 5 6 7
第4步排序結果: 0 3 4 5 6 7
第5步排序結果: 0 3 4 5 6 7

從上面的例子可以非常直觀地瞭解到冒泡排序算法的執行過程。整個排序過程就像水泡的浮起過程,故因此而得名。冒泡排序的算法在對N個數據進行排序時,無論原數據有無順序,都需要進行N-1步的中間排序。

優點:這種排序方法思路直觀簡單。
缺點:執行的步驟稍長,效率不高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章