冒泡排序:通过对待排序序列(从前到后或从后到前)依次比较相邻元素的值,逆序则进行交换。就像水泡一样逐渐向上冒出。(时间复杂度为 n^2 )
// 原数组
int[] i = new int[] { 1, 2, 3, 5, 4 };
int temp;// 辅助变量
boolean boo;// 辅助变量
for (int j = 0; j < i.length - 1; j++) {
boo = true;
// 循环交换
for (int j2 = 0; j2 < i.length - 1 - j; j2++) {
// 相邻元素逆序 进行交换
if (i[j2] > i[j2 + 1]) {
boo = false;
temp = i[j2];
i[j2] = i[j2 + 1];
i[j2 + 1] = temp;
}
}
// 没有进入交换语句说明数组已经有序
if (boo)
break;
System.out.println(j);
}
// 排序后数组
for (int j : i) {
System.out.print(j + " ");
}
输出:
0
1 2 3 4 5