实现思路:
两两相比,如果前面的数比后面的数大,那么直接交换位置,然后继续向后比较,只要遇到比其小的就交换;如果遇到比他还大的就用大的数往后比较。
/**
* 冒泡
*/
public class Bubbling {
public static void main(String[] args) {
int[] arr = {3,6,1,2};
int len = arr.length;
//len-1是为了减少一次循环,最后一次循环没有必要,因为在前一次就已经排好了
for (int i = 0; i < len-1; i++) {
//len-1是为了防止数组下标越界 len-i,减少排序次数
for (int j = 0; j < len-1-i; j++) {
if (arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i :arr) {
System.out.println(i);
}
}
}