C语言实现冒泡排序
#include<stdio.h>
int main()
{
int a[10],n,flag=0,temp;
scanf("%d",&n);//n个数字排序
for (int i=0;i<n;i++)
scanf("%d",a+i);
for(int i=n;i>0;i--)
{
flag=0;
for(int j=0;j<i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag=1;//有移动说明未排好flag置1
}
}
if(flag==0)//已排好 不用继续循环
{
for (int i=0;i<n;i++)
printf("%d ",*(a+i));
return 0;
}
}
for (int i=0;i<n;i++)
printf("%d ",*(a+i));
return 0;
}