核心代码:
从R【1】到R【n】;
从R【1】开始,到边界值bound处,每次比较当前位置和下一位的大小,大则交换,
每次循环的时候 bound==exchange;
exchange==0;因为需要判断每次是否有交换,没交换则exchange不会变。
void BubbleSort(int r[], int n)
{
int j,exchange,bound; //exchange表示最后交换的位置,bound每次==exchange
bound=exchange;
exchange=n;
while(exchange!=0)
{
bound=exchange;
exchange=0; //每次循环都开始初始为0;
for(j=1; j<bound; j++)
{
if(r[j]>r[j+1])
{
r[0]=r[j];
r[j]=r[j+1];
r[j+1]=r[0];
exchange=j;
}
}
}
//printf("程序运行到了这里!!");
}