1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2. 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3. 針對所有的元素重複以上的步驟,除了最後一個。
4. 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
#include <stdio.h>
void bubble(int a[],int n)
{
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}
}
int main()
{
int i;
int a[] = {4,8,9,45,76,23,15,27,36,50};
bubble(a,10);
for (i=0;i<10;i++ )
{
printf("%d ",*(a+i));
}
return 0;
}