#include <stdio.h>
void bubble_sort(int a[],int N);
void bubble_sort(int a[],int N){
int p,i,temp;
//用于判断序列本身是否有序
int flag = 0;
for(p = N - 1;p > 0 || p == 0;p--){
//一趟冒泡
for(i = 0;i < p;i++){
if(a[i] > a[i+1]){
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
//发生了交换,更改flag的值
flag = 1;
}
}
//全程无交换
if(!flag){
break;
}
}
for(int i = 0;i < 5;i++){
printf("%d ",a[i]);
}
}
int main () {
int a[5] = {34,51,89,16,20};
printf("排序前的元素为:\n");
for(int i = 0;i < 5;i++){
printf("%d ",a[i]);
}
printf("\n");
printf("排序后的元素为:\n");
bubble_sort(a,5);
}