c語言 氣泡排序法

2021-10-17 12:26:30 字數 938 閱讀 6780

氣泡排序是一種簡單的排序演算法,它也是一種穩定排序演算法。

其實現原理是重複掃瞄待排序序列,並比較每一對相鄰的元素,當該對元素順序不正確時進行交換。一直重複這個過程,直到沒有任何兩個相鄰元素可以交換,就表明完成了排序。

以冒泡法(從小到大)為例

原理:比較相鄰的元素,將值大的元素交換到右邊

原始陣列資料:8 4 20 5 總共4個數 len = 4

相鄰兩個數比較,大的數交換到右邊

第0輪4 8 20 5 、4 8 20 5 、4 8 5 20 ---------max = 20

第1輪4 8 5、4 5 8 ------------------------------ max =8

第2輪4 5 -----------------------------------------------max = 5

i = 比較的輪數

j = 每一輪比較中相鄰數比較的次數

4個數,經過3輪比較,i = 3

即:

for(i = 0;i<3;i++)
j的規律如下:i

j031

221

for(j=0;j<3-i;j++)
#include void sort(int arry,int len)

}

}}int main()

; int len = sizeof(arry)/sizeof(arry[0]);

sort(arry,len);

for(m=0;m如果要按照從大到小排列只要改變if條件:

if(arry[j] < arry[j+1])

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 ...