冒泡排序

冒泡排序:

写道
int[] scores = { 2, 4, 6, 1, 7,9,3,3, 5 };
Boolean exchange; // 交换标志
for (int i = 0; i < scores.length-1; i++) { // 最多做n-1趟排序
exchange = false; // 本趟排序开始前,交换标志应为假

for (int j = scores.length - 2; j >= i; j--)
{
// 对当前无序区R[i..n]自下向上扫描
if (scores[j + 1] < scores[j]) {// 交换记录
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
exchange = true; // 发生了交换,故将交换标志置为真
}
// if(scores[j+1]>scores[j]){
// int temp = scores[j];
// scores[j] = scores[j + 1];
// scores[j + 1] = temp;
// exchange = true; // 发生了交换,故将交换标志置为真
// }
}
if (!exchange){ // 本趟排序未发生交换,提前终止算法
break;
}
}
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}

 

你可能感兴趣的:(冒泡排序)