#include<stdio.h>
int a[20]={4,2,0,7,3,12,65,78,23,43,56,32,87,54,99,100,2,48,68,54};
void display(int a[],int n);
void swap(int &a,int &b);
void BubbleSotrt(int a[],int n);
int main(){
display(a,20);
BubbleSotrt(a,20);
display(a,20);
return 0;
}
void display(int a[],int n){
for(int i=0;i<n;i++){
printf("%d\t",a[i]);
}
printf("\n");
}
void swap(int &a,int &b){
int temp = a;
a = b;
b = temp;
}
void BubbleSotrt(int a[],int n){
for(int i=0;i<n-1;i++){//n-1 轮冒泡,也可表示当前有序序列的大小
bool flag=false;//如果冒泡一轮之后flag不变,说明数组已经有序
for(int j=n-1;j>i;j--){//有序序列每经过一轮冒泡增大一个单位
if(a[j]<a[j-1]){
flag=true;//当前序列不是有序的
swap(a[j-1],a[j]);
}
}
if(flag==false)return ;
}
}
结果