for(int i =0;i < score.length - 1;i++)
{
for(int j = 0;j < score.length - 1-i;j++)// j開始等於0,
{
if(score[j] < score[j+1])
{
int temp = score[j];
score[j] = score[j+1];
score[j+1] = temp;
}
}
}
分析:第一個元素和后面的所有元素比較,內層循環一輪結束,就可以將最大的數放到最后;接下來是執行第二次內層的循環,將已經排序之后的數組(已經排列好最大的數字)的第二大的數字放到倒數第二位;接下來是依次將大數放到后面。
for(int i =0;i < score.length - 1;i++)
{
for(int j = (score.length - 2);j >= 0;j--)
{
if(score[j] < score[j+1])
{
int temp = score[j];
score[j] = score[j+1];
score[j+1] = temp;
}
}
}
分析:這種寫法的思想是:從數組的最后一個元素進行和之前所有的元素進行比較,只一次內層的循環,將最小的數字放到第一位;接下來是執行第二次的內層循環,將第二小的的放到第二位,依次將數組從小到大排列。
