#include <stdio.h>
#define MaxNum 10
#include <stdlib.h>
#include <time.h>
void BubbleSort(int *A,int n){
int i,j;
for(i=1;i<=n;i++){//第一重循环: 每循环一次,标志着一个元素已经排序完成,有序组数量加一
int flag = 0;
//第二重排序:冒泡过程
for(j=n-1;j>i;j--){//在未排序组中,从后向前比较元素
if(A[j]<A[j-1]){//若有一个元素小于其前一个位置的元素
// Swap(A[j],A[j-1]);
//将数组中A[j]和A[j-1]位置元素交换
A[0] = A[j];
A[j] = A[j-1];
A[j-1] = A[0];
printf("\n");
for(int i = 0;i< n;i++){
printf("%d ",A[i]);
}
printf("\n");
flag = 1;
}
}
if(flag==0){
break;
}
}
}
int main(){
int A[MaxNum];
srand((unsigned)time(NULL));
A[0] = 0;//guard point
int n = MaxNum;
for(int i = 1;i< n;i++){
A[i] = rand();
}
printf("the array's elements include :\n");
for(int i = 0;i< n;i++){
printf("%d ",A[i]);
}
printf("\nStart Sorting\n");
BubbleSort(A,n);
printf("Now Sort end!,the array's elements include :\n");
for(int i = 0;i< n;i++){
printf("%d ",A[i]);
}
}
07-23
437
09-11
665