方式一(百度百科的方法):
按照从小到大排序
方式二:
假如有几个数字int score[] = {67, 69, 75, 88}; 按照从大到小排序。
用88 和 75 比较,在和69 比较 在和 67 比较,发现88是最大的,吧他排到第一位(index=0的位置),然后i=1,也就是第二轮,就不用看下标为0的88了因为他是老大,然后接着比较。
for(int i =0;i < score.length - 1;i++)
{
for(int j = (score.length - 2);j >= i;j--)
{
if(score[j] < score[j+1])
{
int temp = score[j];
score[j] = score[j+1];
score[j+1] = temp;
}
}
}
说明下为啥j=score.length - 2
因为length=4,我最多能让下标2和下标3的数字比较(j+1最大等于3),也就是4-2=2 j最大=2,2和2+1比较 然后1和2比较,然后 0和1 比较。