回覆列表
-
1 # ᝰ安之若素ᝰ
-
2 # 7567563027283來福
你要明白氣泡排序的一個原理。原理就是對比,第一個第二個數進行比較。第二第三個資料比較,然後依次後面慢慢都全部比較一遍,比較過程中。前面和後面的兩個數進行比較,其中大的數,向右移一格。如果大的書在左邊,那就它就像右移一個。如果大的數在原來就在右邊的,那就它不動。所以說你這個問題意思就是兩個數進行比較,比較完之後把大的數向右移一格。就是兩邊數值對換
參考程式碼如下:
#include <stdio.h>
int main()
{
int a[10];//用來存資料
int i,j,temp;
for(i = 0; i < 10; i ++)//輸入10個數。
scanf("%d",&a[i]);
for (j = 0; j < 9; j++)//標準冒泡法排序
for (i = 0; i < 9- j; i++)
{
if(a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
for(i = 0; i < 10; i ++)//輸出。
printf("%d,",&a[i]);
printf("\n");
return 0;
}