#include<stdio.h>
#define MAXSIZE 100
void Bubble_Sort(int R[],int n)
{
int i,j;
int swap;
for(i=1;i<n;i++)
{
swap=0;
for(j=1;j<=n-i;j++)
{
if(R[j]>R[j+1])
{
R[0]=R[j];
R[j]=R[j+1];
R[j+1]=R[0];
swap=1;
}
}
if(swap==0)
break;
}
}
void main()
{
int k;
int R[MAXSIZE];
int n;
printf("请输入你要排序的数据的个数:\n");
scanf("%d",&n);
printf("请输入你要排序的数据:\n");
for(k=1;k<=n;k++)
{
scanf("%d",&R[k]);
}
Bubble_Sort(R,n);
printf("排序后的结果为:\n");
for(k=1;k<=n;k++)
{
printf("%d\n",R[k]);
}
}
n个元素需进行n-1趟比较,排序即可完成。
第1趟:将第1个到第n个元素和其前面的元素比较,位置不对交换次序;
第2趟:将第1个到第n-1个元素和其前面的元素比较,位置不对交换次序;
……………….
第i趟:将第1个到第n-i个元素和其前面的元素比较,位置不对交换次序。