如果有n個數進行氣泡排序,那麼需要經過n-1趟排序,第一趟n-1次兩兩比較,第n-1趟進行1次兩兩比較,即第j趟進行n-j次兩兩比較。趟數決定了比較的次數,用兩個for迴圈聯絡起來,當然也有其他的辦法,後續補充。
如圖所示:
;//定義行列和十個數
for(i =
0; i <
10; i++
)//變數i表示比較的趟數
for(i =
0; i <
9; i++
)//變數j表示每趟兩兩比較的次數
for(j =
0; j < i-j; j++)if
(a[j]
> a[j +1]
)printf
("output :\n");
for(
int i =
0; i <
10; i++
)}注意:
for (j = 0; j < i-j; j++)這裡也可以寫j<10,因為j不會超過j-i, for (j = 0; j < 10; j++),但是為了減小時間複雜度,所以寫成i-j.
C語言 氣泡排序法
此題的解決思路為 對於一組數字的排序,我們通過迴圈比較兩個相鄰元素的大小,若為公升序排列則將最大值替換到最後。這樣依次類推進行多趟氣泡排序即可將這組數字公升序排列。例如 10,9,8,7,6,5,4,3,2,1 通過一趟氣泡排序,我們將10置於最後一位。9,8,7,6,5,4,3,2,1,10 第二...
C語言 氣泡排序法
氣泡排序法 排序的規律有兩種 一種是公升序,從小到大 另一種是降序,從大到小。排序方法是一種很重要的,基本的演算法。冒泡法的基本思路是 每次將相鄰的兩個數比較,將小的調到前面,讓最大的元素不斷地往後移。例 有6個數 9,8,5,4,2,0 第一次對調情況如下圖,可以看到將最大的數字9調到了最後,經過...
氣泡排序法(C語言)
氣泡排序 相鄰兩個數兩兩比較,小的數向前移 上浮 大的數向後移 下沉 如同水中的泡泡上浮一般 氣泡排序圖示 如果有n個數,則要跑n 1次比較 每跑一次比較就會有乙個較大數 沉底 交換兩個數的次數會隨著跑的次數越來越多而變少。c語言 include intmain int t,i,j for i 0 ...