原理:每次比较相邻两数,小的交换到前面,每轮结束后最大的数交换到最后
冒泡排序速记口诀(升序):
N 个数字来排队
两两相比小靠前
外层循环 N-1
内层循环 N-1-i
public class MaoPaoShiXian {
public static void main(String[] args) {
int a[] = { 8, 3, 120, 86, 34 };
// 循环输出数据
System.out.println("排序前数组中的数据为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + "\t");
}
// 经过冒泡排序
// 首先控制比较多轮数
int temp;
for (int i = 0; i < a.length - 1; i++) {// 控制轮数
for (int j = 0; j < a.length - i - 1; j++) {// 控制每一轮比较多次数
if (a[j] < a[j + 1]) {// 从小到大与从大到小改变><符号就行
temp = a[j];// 交换两个数据的位置
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
//
System.out.println("\n排序后数组中的数据为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + "\t");
}
// 我要正序进行输出
System.out.println("\n正序进行输出");
for (int i = a.length - 1; i >= 0; i--) {
System.out.print(a[i] + "\t");
}
}
}