用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 傳陣列名及其大小 ...