例如,数组 a[n] 按照升序排列:
void sort( int a[], int n )
{
int i,j,k;
for(i=0;i<n;i++)
{
for(j=n-2;j>=i;j--)
{
if(a[j]>a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
}
总体思想:在每 i 轮,将第 i 项排好。
里面的 j 循环就是将应该在第i项的数慢慢挪过去。