哈喽,大家好!本章将介绍针对数组的经典排序法之一——冒泡排序,开始学习吧!
冒泡排序(Bubble Sort)
冒泡排序步骤:
- 从第1个元素开始,相邻2个数依次比较大小,较大的数放后面;
- 再开始新的1轮比较,依旧从的第1个元素开始,直到比较至倒数第二个数,步骤同上;
- 依次类推,完成n-1轮比较后,得出一个升序排序的数组。
代码:
public class BubbleSort {
public static void main(String[] args) {
int[] a = new int[10];
for (int i = 0; i < a.length-1; i++) {
a[i] = (int)(Math.random()*100);
}
System.out.println(Arrays.toString(a));
for (int i = 0; i < a.length-1; i++) {
int flag = 0;
for (int j = 0; j < a.length-i-1; j++) {
if (a[j]>a[j+1]) {
flag = 1;
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
if (flag == 0) {
System.out.println("经过"+(i+1)+"轮比较,已经有序");
}
}
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));//升序