重复的交换相邻的两个反序元素。
#include <stdio.h>
#include <string.h>
#include <time.h>
#define BUFFER_SIZE 10
void BubbleSort(int *a,int len)
{
int i=0;
int j=0;
int temp=0;
for(i=1;i<len;i++)
{
for(j=0;j<len-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
void Output(int *a,int len)
{
int i=0;
for(i=0;i<len;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
int main()
{
int i=0;
int k=1;
int a[BUFFER_SIZE];
memset(a,0,sizeof(a));
srand((unsigned)time(NULL));
for(i=0;i<BUFFER_SIZE;i++)
{
a[i]=rand()%BUFFER_SIZE;
}
printf("随机生成的数组:");
Output(a,BUFFER_SIZE);
printf("冒泡排序后:");
BubbleSort(a,BUFFER_SIZE);
Output(a,BUFFER_SIZE);
system("pause");
return 0;
}