冒泡排序
思路:冒泡,即为在每次排序时,将此时数组内最大的数移到此时的最后一位。
第一步:确定有几个数需要放到各自情况的最后一位,答案是数组长度-1个数。
第二步:确定第i次将此时的最大数排到此时的最后一位时,需要进行比较多少次,答案是数组长度-1- i次。(因为此时已经确定了i-1个数的位置)
所以用两层循环即可实现:
第一层:for (int i = 0; i < score.length - 1; i++)
第二层:for (int j = 0; j < score.length - 1 - i; j++)
优化:初始化一个boolean型变量flag为false,如果产生了交换则设置flag为true,若未产生交换,则表示已完成排序,退出循环。