小程序,小练习。通过冒泡排序法进行降序排序。
- 程序代码如下:
public static void main(String[] args) {
int data[] = { 67, 69, 35, 87, 81, 90, 39, 100 };
// 最多做n-1趟排序
for (int i = 0; i < data.length - 1; i++) {
// 对当前无序区间data[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
// 最后的位置已经排序好,无需再次排序,所以范围是逐步缩小的。
for (int j = 0; j < data.length - i - 1; j++) {
if (data[j] < data[j + 1]) { // 把小的值交换到后面
int temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
System.out.print("第" + (i + 1) + "次排序结果:");
for (int a = 0; a < data.length; a++) {
System.out.print(data[a] + "\t");
}
System.out.println("");
}
System.out.print("最终排序结果:");
for (int a = 0; a < data.length; a++) {
System.out.print(data[a] + "\t");
}
}
- 测试结果如下:
第1次排序结果:69 67 87 81 90 39 100 35
第2次排序结果:69 87 81 90 67 100 39 35
第3次排序结果:87 81 90 69 100 67 39 35
第4次排序结果:87 90 81 100 69 67 39 35
第5次排序结果:90 87 100 81 69 67 39 35
第6次排序结果:90 100 87 81 69 67 39 35
第7次排序结果:100 90 87 81 69 67 39 35
最终排序结果:100 90 87 81 69 67 39 35