若给定一大小为n的数组,则需要进行比较n-1趟,每一趟比较n-1-i次,i为上次循环已比较完的下标。
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
int temp;
int a[5] = {40,8,15,18,12};
int len = sizeof(a)/sizeof(a[0]); //len为数组大小
for(i = 0;i<len-1;i++)
{
for(j = 0;j< len-1-i;j++)
{
if(a[j+1]>a[j])
{
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
i++;
}
}
}
for(i = 0;i<len;i++)
{
printf("%d ",a[i]);
}
return 0;
}