資料序列(Data sequence)中兩相鄰元素逐一的比較,而且在每一次元素交換處理循環找出序列的最大值。一直到整個序列排序完畢。
程式範例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| /**
* Program name: bubble_sort.c
* Description: 氣泡排序法
* Created date: 2012/08/28
*/
#include <stdio.h>
#define n 5
void main(){
int ar[n]={8,3,6,1,5};
int i,j,t;
for(i=0;i<n;i++){
for(j=0;j<n-i;j++){
if(ar[j] > ar[j+1]){
t = ar[j];
ar[j] = ar[j+1];
ar[j+1] = t;
}
}
}
printf("[氣泡排序結果]: ");
for(i=0;i<n;i++)
printf("%d,",ar[i]);
printf("\n");
system("pause");
}
|
執行結果
沒有留言:
張貼留言