C語言實現簡單的氣泡排序

2021-08-23 14:39:36 字數 1444 閱讀 6154

用c實現氣泡排序

常用的排序方法有氣泡排序法,選擇排序法,插入排序法以及希爾排序法等。本文著重講解如何利用c**,實現氣泡排序。

首先,要了解什麼是氣泡排序。氣泡排序是常用的一種排序方法,其基本方法就是逐次比較。即一次比較兩個數,若它們的順序錯誤,則它們交換;重複進行,直到沒有需要交換為止。

以公升序排序為例:

1、比較相鄰數字的大小,若第乙個數比第二個數大,則相互交換;

2、對每一對相鄰的數作相同的工作,那麼最後的數應該是最大的數;

3、針對所有數(除了最後乙個)重複上述步驟,直到沒有任何一對數字需要比較為止。

需要注意的是,第3條中所謂的「最後乙個」是指前幾步中已經處理過的最大的數,而不是整個數列的最後乙個數。

例如,將下列數列用氣泡排序法從小到大重新排列;

23  67  12  28  78  96  8  88

每次排序後數列的變化如下:

第一趟排序:23      12      28      67      78      8       88      96

第二趟排序:12      23      28      67      8       78      88      96

第三趟排序:12      23      28      8       67      78      88      96

第四趟排序:12      23      8       28      67      78      88      96

第五趟排序:12      8       23      28      67      78      88      96

第六趟排序:8       12      23      28      67      78      88      96

第七趟排序:8       12      23      28      67      78      88      96

第八趟排序:8       12      23      28      67      78      88      96

經過一系列過程,最終數列次序為:8       12      23      28      67      78      88      96

部分程式如下:

#include "stdio.h"

void main();

for(j=0;j<8;j++)

} for(p=0;p<8;p++)

printf("\n");

} printf("最終排序的陣列為: \n");

氣泡排序 c語言實現

氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...

C語言實現氣泡排序

氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從...

氣泡排序(C語言實現)

直接上 注意理解注釋 define crt secure no warnings 1 include include void my swap int a,int b 交換的時候傳位址 通過這兩個位址去尋找對應變數 void bubblesort int arr,int size 傳陣列名及其大小 ...