C語言冒泡排序算法
用冒泡排序法對任意輸入的 10 個數(shù)按照從小到大的順序進行排序。
實現(xiàn)過程:
(1) 通過兩個 for 循環(huán)實現(xiàn)冒泡排序的全過程,外層 for 循環(huán)決定冒泡排序的趟數(shù),內(nèi)層 for 循環(huán)決定每趟所進行兩兩比較的次數(shù)。
(2) 程序代碼如下:
#include <stdio.h>
int main()
{
int i,j,t,a[11]; //定義變量及數(shù)組為基本整型
printf("請輸入10個數(shù):\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]); //從鍵盤中輸入10個數(shù)
for(i=1;i<10;i++) //變量i代表比較的趟數(shù)
for(j=1;j<11-i;j++) //變最j代表每趟兩兩比較的次數(shù)
if(a[j]>a[j+1])
{
t=a[j]; //產(chǎn)利用中間變童實現(xiàn)兩值互換
a[j]=a[j+1];
a[j+1]=t;
}
printf("排序后的順序是:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]); //將胃泡排序后的順序輸出
printf("\n");
return 0;
}</stdio.h>
運行結(jié)果:
請輸入10個數(shù):
66 32 23 45 25 5 15 69 46 37
排序后的順序是:
5 15 23 25 32 37 45 46 66 69
技術(shù)要點:
本實例要求用冒泡法對 10 個數(shù)由小到大進行排序,冒泡法的基本思路是,如果要對 n 個數(shù)進行冒泡排序,那么要進行 n-1 趟比較,在第 1 趟比較中要進行 n-j 次兩兩比較,在第 j 趟比較中要進行 n-j 次兩兩比較。從這個基本思路中就會發(fā)現(xiàn),趟數(shù)決定了兩兩比較的次數(shù),這樣就很容易將兩個 for 循環(huán)聯(lián)系起來了。
作者:大學(xué)生新聞網(wǎng) 來源:大學(xué)生新聞網(wǎng)
- C語言直接插入排序算法
- 插入排序是把一個記錄插入到已排序的有序序列中,使整個序列在插入該記錄后仍然有序。插入排序中較簡單的種方法是直接插入排序
- 03-03 關(guān)注:0
- C語言冒泡排序算法
- 用冒泡排序法對任意輸入的 10 個數(shù)按照從小到大的順序進行排序。
- 03-03 關(guān)注:0
- C語言希爾排序算法
- 用希爾排序法對一組數(shù)據(jù)由小到大進行排序,數(shù)據(jù)分別為 69、56、12、136、3、55、46、 99、88、25。
- 03-03 關(guān)注:0
- C語言猴子吃桃問題
- 猴子吃桃問題:猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個。
- 03-03 關(guān)注:0