氣泡排序Bubble Sort

2022-08-27 16:33:11 字數 803 閱讀 9321

基本原理:對於氣泡排序來說,基本思想是從第乙個元素開始,陣列中的資料依次和它後面相鄰的資料進行比較,即1和2比較,2和3比較,a和a+1比較,直到倒數第二位和倒數第一位的比較,如果順序不對就進行交換,這樣一次下來最大的元素會被放置在最後的位置上【以公升序為例,這裡是理解氣泡排序的重點。】接著,在進行一次這樣的排序,只不過到倒數第二就截止。最後呢就剩第一位置的元素和第二位置的元素進行比較。這個應該比較好理解,就不上圖了吧。不過如果有足夠的時間,我還是願意把圖補上的。

時間複雜度:顯然是o(n^2)**:

static

void bubble(int

a)

for (int

n : a)

system.out.print(n+" ");

system.out.println();}}

public

static

void

main(string args)

;bubble(a);

}

結果:2 3 1 5 1 8 8 11              //先後經歷 的交換

2 1 3 1 5 8 8 11             //先後經歷 的交換 

1 2 1 3 5 8 8 11             //先後經歷 的交換

1 1 2 3 5 8 8 11            //交換,此後在未發生過交換

1 1 2 3 5 8 8 11

1 1 2 3 5 8 8 11

1 1 2 3 5 8 8 11

氣泡排序 bubble sort

氣泡排序是最基本的排序演算法,常被做為內部排序的第乙個排序演算法進行講解。它的原理非常簡單,只是一 個兩層迴圈,每次將最大或最小的放到陣列最後。演算法如下 b為陣列的起始位置,e為陣列的結果位置 int bubble int data,int b,int e return n 這個函式返回兩個整數比...

氣泡排序(Bubble Sort)

無論你學習哪種程式語言,在學到迴圈和陣列時,通常都會介紹一種排序演算法來作為例子,而這個演算法一般就是氣泡排序。並不是它的名稱很好聽,而是說這個演算法的思路最簡單,最容易理解。因此,哪怕大家可能都已經學過氣泡排序了,我們還是從這個演算法開始我們的排序之旅。氣泡排序 bubble sort 一種交換排...

氣泡排序 Bubble Sort

維基百科 氣泡排序 演算法思想 不斷的交換相鄰的兩個反序元素,使最小元素 上浮 或使最大元素 下沉 每一趟 冒泡 都會確定乙個最大的元素或最小的元素,同選擇排序類似,演算法總共只需進行n 1趟。將乙個陣列豎著放,低位址在上面,高位址在下面,所謂 上浮 就是較小的元素不斷向低位址靠近,所謂 下沉 就是...