C語言:利用函式法進行冒泡法排序
阿新 • • 發佈:2019-01-25
題目來源:大工慕課 連結
作者:Caleb Sung
參考程式碼
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int a[10],i,j,t;
srand(time(NULL));
for(i=0;i<10;i++)
a[i]=rand()%100+0;
printf("隨機生成的陣列: \n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
sort(a);
/*輸出排序結果*/
printf("\n排序後的陣列: \n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
sort(int a[]){
/*排序*/
int i, j, t;
for(j=0;j<9;j++) /*外迴圈控制排序趟數,n個數排n-1趟*/
for(i=0;i<9-j;i++) /*內迴圈每趟比較的次數,第j趟比較n-j次*/
if(a[i]>a[i+1]) /*相鄰元素比較,逆序則交換*/
{
t=a[i];
a[i]=a[i+1 ];
a[i+1]=t;
}
}
執行效果
【輸出】
隨機生成的陣列:
84 23 55 14 52 99 27 88 88 69
排序後的陣列:
14 23 27 52 55 69 84 88 88 99