#include<stdio.h>
#include<stdlib.h>
void DubbleSont(int a[],int n)
{
int i,j,t,tag;
for(i=0;i<n-1;i++)
{
tag=0;
for(j=n-1;j>i;j--)
if(a[j]<a[j-1])
{
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
tag=1;
}
if(!tag) break;
}
printf("经过%d次排序得到:",i+1);
}
void PrintAray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%5d",a[i]);
}
printf("\n");
}
int main(void)
{
int *a;
int n,i;
printf("请输入数组长度n= ");
scanf("%d",&n);
a=(int*)malloc(n*sizeof(int));
printf("输入数组= ");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
DubbleSont(a,n);
PrintAray(a,n);
return 0;
}
冒泡排序
原文:http://blog.51cto.com/13645380/2103788