氣泡排序法
排序的規律有兩種:一種是公升序,從小到大;另一種是降序,從大到小。排序方法是一種很重要的,基本的演算法。
冒泡法的基本思路是:每次將相鄰的兩個數比較,將小的調到前面,讓最大的元素不斷地往後移。
例:有6個數:9,8,5,4,2,0
第一次對調情況如下圖,可以看到將最大的數字9調到了最後,經過了1趟(共5次比較和交換)已得到最大的數字9;
然後進行第二趟比較,對餘下的5個數進行一輪新的比較,進行了4次比較和交換。
若有n個數,則要進行n-1趟比較,在第1趟比較中要進行n-1次兩兩比較,在第j趟比較中要進行n-j次兩兩比較
**如下:
#include
#include
#pragma warning(disable:4996)
intmain()
printf
("after:\n");
for(i =
0; i <
10; i++
)printf
("%d"
, a[i]);
printf
("\n");
system
("pause");
return0;
}
優化**:
#include
#include
#pragma warning(disable:4996)
void
bubble_sort
(int arr,
int sz)
//sz為陣列arr的元素個數}}
}int
main()
;int sz =
sizeof
(arr)
/sizeof
(arr[0]
);bubble_sort
(arr, sz)
;for
(int i =
0; i < sz; i++
)system
("pause");
return0;
}
C語言 氣泡排序法
此題的解決思路為 對於一組數字的排序,我們通過迴圈比較兩個相鄰元素的大小,若為公升序排列則將最大值替換到最後。這樣依次類推進行多趟氣泡排序即可將這組數字公升序排列。例如 10,9,8,7,6,5,4,3,2,1 通過一趟氣泡排序,我們將10置於最後一位。9,8,7,6,5,4,3,2,1,10 第二...
氣泡排序法(C語言)
氣泡排序 相鄰兩個數兩兩比較,小的數向前移 上浮 大的數向後移 下沉 如同水中的泡泡上浮一般 氣泡排序圖示 如果有n個數,則要跑n 1次比較 每跑一次比較就會有乙個較大數 沉底 交換兩個數的次數會隨著跑的次數越來越多而變少。c語言 include intmain int t,i,j for i 0 ...
c語言 氣泡排序法
氣泡排序是一種簡單的排序演算法,它也是一種穩定排序演算法。其實現原理是重複掃瞄待排序序列,並比較每一對相鄰的元素,當該對元素順序不正確時進行交換。一直重複這個過程,直到沒有任何兩個相鄰元素可以交換,就表明完成了排序。以冒泡法 從小到大 為例 原理 比較相鄰的元素,將值大的元素交換到右邊 原始陣列資料...