1樓:青檬護膚
具體**如下:
從小到大排序。
#include
void main()
int a[10],i,j,k,temp;
printf("輸入10個數");
for(i=0;i<10;i++)
scanf("%d",&a[i]);輸入10個數,初始化陣列。
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)用陣列中第i個數和i後面的數作比較,第一次(i=0時)找。
//出最小的,第二次(i=1時)找出第二小的。以此類推。
//就像冒泡一樣。
if(a[j]temp=a[i];
a[i]=a[j];
a[j]=temp; /交換a[j]和a[i]printf("the sorted number:")
for(k=0;k<10;k++)輸出排序後的陣列。
printf("%d\t",a[k]);
printf(""
執行結果如下。
氣泡排序法是如何排序的???
2樓:隨便什麼名啦啦
氣泡排序演算法的原理:
1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3、針對所有的元素重複以上的步驟,除了最後一個。
4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
3樓:飛鷹
它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「氣泡排序」。
4樓:匿名使用者
用兩層迴圈,比較兩個數大小,按要求,大數或者小數在前排序,注意二層迴圈中,j=i
5樓:匿名使用者
冒泡就是大的數,比較之後放到最前面,一次類推。
6樓:網友
其實很簡單,就是一個一個進行對比如果ab就把兩個變數進行交換,使得最大/最小的排在前面。
2 4 3 5 1 五個數。
2<4 交換成為 42351
2<3 成為 43251
2<5 成為 43521
2>1 不交換 43521
然後最小的1就一定會在最後。
然後比較前4個數,4>3,3<5(交換),3>2;
成為45321,前3個數4<5(交換),4>3
就成為了54321
這是一個巧合的例子,程式應該還要比較前兩個數5>4
最後成為54321。
以下是樣例程式。
#include
int main()
;int i,j,t; /i,j是計數器,t用作交換for(i=0;i<5;i++)
printf("%d %d %d %d %d",a[0],a[1],a[2],a[3],a[4]);
return 0; /程式正常結束。
}你懂了麼?
7樓:我愛涮涮鍋
比如有一組數為12,23,1,4,2,6。需要使用氣泡排序方法使這組數從小到大排列。首先12和23比較,12<23,則位置不變;接著23和1比較,因為23>1,所以交換23和1的位置,這組數這時是12 1 23 4 2 6;然後比較23和4,因為23>4,所以交換23和4,這組數變為12 1 4 23 2 6;然後比較23和2,23>2,再交換,變為12 1 4 2 23 6;然後比較23和6,23>6,再交換,最後為12 1 4 2 6 23。
這就叫經過了一趟排序,即相鄰兩數比較,大的放在後面,經過一趟排序後,最大的數就冒泡到最後面了。然後再對前n-1個數進行第二趟排序,排序後第二大的數就放在了第n-1個位置;最後經過n-1趟排序後整個陣列就有序了。
C 下用氣泡排序法排列數,C 下用氣泡排序法排列10個數
乾珈藍佑 將你的 中 for j 9,q 1 q n k j q 的n改為10就可以了 for j 9,q 1 q 10 k j q 改為10以後,程式就沒有問題了 你的main函式顯示有問題,顯示的aa.display 在排序的aa.sortnum 之前了,那樣顯示的是排序前的順序,在aa.sor...
vb用氣泡排序法實現對陣列中含有元素隨機
這個要動態演示排序過程麼?還是直接顯示排序的結果? private sub command1 click dim a 1 to 10 i j,s as integerrandomize for i 1 to 10 隨機10個產生1 100的整數 a i int rnd 100 1next i for...
C語言問題求解如圖謝謝氣泡排序法這個j10 i 1為什麼j要小於N i?是什麼意思
再醉不逍遙 裡面的for迴圈完成一次迴圈,就將最大值轉移到最後,那麼下一次 外面for 就要排除最後已經得到的最大值,在剩下的值中再次得到最大值並轉移到最後。每一次冒泡後,都要少比較一個資料,比如 4 5 2 1 一次冒泡得 4 2 1 5 二次冒泡得 這時只要遍歷3個 4 2 1 2 1 4 51...