C語言 冒泡法排序
要點:如果要對 N 個數 進行冒泡排序,那麼要進行 N-1 趟 比較,在第1 趟比較中 要 進行 N-1 次兩兩 比較,(C語言中的數值比較 每次只能在 兩個數之間),推而廣之,在第J趟比較中 要進行 N- 1 - J次 的兩兩比較。
#include <stdio.h>//預處理命令
#define N 10// 設定 比較 數字的個數
void main()
{
int i,j,t,a[11];
printf("請輸入10個數: ");
for (i=0;i<N;i++) //從鍵盤 中輸入10 個數
scanf("%d",&a[i]);
for (i=0;i<N-1;i++) //比較的趟數
for (j=0;j<N-1-i;j++) //每趟兩兩比較的次數
if (a[j]>a[j+1]) //利用中間變量 實現值互換
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
printf("經過 冒泡法排序後 的順序是: ");
for (i=0;i<N;i++)
printf("%3d",a[i]);
printf("\n");
}
程序運行截圖: