排序算法--冒泡排序

        冒泡排序是最簡單入門的排序算法了。我們來分析分析。

        1 假設我們要排序的數組如下,排序結果按升序排列。

int array[] = {43,24,12,56,78,9,67,50};

        2 其數組長度爲int n = array.length;

        3 冒泡排序的定義是將最大值依次向數組右側移動。也就是說需要相鄰的元素進行比較。那麼這麼操作的規律就如下了:

                (1) 第一次循環比較,數組中的最大值被移動到最右側。

                (2) 第二次循環比較,數組中第二大的值被移動到倒數第二位。並且最右側的值不用進行比較了。

                (3) 第三次循環比較,數組中第三大的值被移動到倒數第三位,並且最右側的兩個值不用進行比較了。

                          .......

                 我們總共需要循環比較n次。每一次循環只需選出一個最大值往最右側移動即可。

代碼如下:

public class BubbleSort {
	public static void main(String[] args) {
		int array[] = {43,24,12,56,78,9,67,50};
		for(int i=0;i<array.length;i++)
			for(int j=0;j<array.length-i-1;j++){
				if(array[j] > array[j+1]){
					int temp = array[j];
					array[j] = array[j+1];
					array[j+1] = temp;
				}
			}
		
		for(int i=0;i<array.length;i++){
			System.out.println(array[i]);
		}
	}
}


for(int i=0;i<array.length;i++)
 這一句代碼就說明一共要循環比較n次。

for(int j=0;j<array.length-i-1;j++)
這一句代碼就說明上述第三點的結論。





發佈了59 篇原創文章 · 獲贊 10 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章