說起冒泡排序,大家對這個名詞一定很熟悉,接觸過的人都知道,這是我們很常見的一個知識點,也是我們筆試出現頻率很高的一個題,那下面我們一起來聊聊冒泡排序。
冒泡排序的原理:
1)比較第一個數與第二個數,若為逆序a[0]>a[1],則交換;然后比較第二個數與第三個數;依次類推,直至第n-1個數和第n個數比較為止——第一趟冒泡排序,結果最大的數被安置在最后一個元素位置上
2)對前n-1個數進行第二趟冒泡排序,結果使次大的數被安置在第n-1個元素位置
3)重復上述過程,共經過n-1趟冒泡排序后,排序結束
C代碼:
1 #include <stdio.h>
2
3 int main()
4 {
5 int a[11],i,j,t;
6
7 printf("Input 10 numbers:\n");
8 for(i = 1; i < 11; i++)
9 scanf("%d",&a[i]);
10 printf("\n");
11
12 for(j = 1; j <= 9; j++)
13 {
14 for(i = 1; i <= 10 - j; i++)
15 if(a[i] > a[i+1])
16 {
17 t = a[i];
18 a[i] = a[i+1];
19 a[i+1] = t;
20 }
21 }
22 printf("The sorted numbers:\n");
23 for(i = 1; i < 11; i++)
24 printf("%d ",a[i]);
25 return 0;
26 }
27
我們分析問題要結合圖示,這樣理解起來更快哦。