//冒泡排序
#include<stdio.h>
#define N 5
int main()
{
int f[N]={5,2,4,3,1},temp;
printf("排序前:");
for(int i=0;i<N;i++)
{
printf("%d ",f[i]);
}
printf("\n");
for(int pass=0;pass<N-1;pass++)
{
for(int i=0;i<N-1;i++)//此处需要注意!
{
if(f[i]>f[i+1])
{
temp=f[i];
f[i]=f[i+1];
f[i+1]=temp;
}
}
printf("第%d趟 ",pass+1);
for(int i=0;i<N;i++)
{
printf("%d ",f[i]);
}
printf("\n");
}
printf("\n");
printf("排序后:");
for(int i=0;i<N;i++)
{
printf("%d ",f[i]);
}
return 0;
}
输出结果:
排序前:5 2 4 3 1
第1趟 2 4 3 1 5
第2趟 2 3 1 4 5
第3趟 2 1 3 4 5
第4趟 1 2 3 4 5
排序后:1 2 3 4 5