假設要對含有n個數的序列進行升序排列,冒泡排序算法步驟是:
1、從存放序列的數組中的第一個元素開始到最後一個元素,依次對相鄰兩數進行比較,若前者大後者小,則交換兩數的位置;
2、第1趟結束後,最大數就存放到數組的最後一個元素裡了,然後從第一個元素開始到倒數第二個元素,依次對相鄰兩數進行比較,若前者大後者小,則交換兩數的位置;
3、重復步驟1 n-1趟,每趟比前一趟少比較一次,即可完成所求。
例1、隨機產生10個100以內的數,將其用冒泡法按升序排列後輸出。
#include#include #define n 10 int main(void) { int a[n],i,j,t; printf("隨機產生10個100以內的數:\n"); for(i=0;i a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } } for(i=0;i
運行結果: