冒泡排序:【默认要排成由小到大的顺序】将数组中相邻的两个数依次比较,如果不满足由小到大的顺序,就交换位置,依次进行完一遍比较交换操作后,就会将数组中最大的数“冒”到数组的最后位置。循环以上操作,就会将数组变为有序数组。
基础代码实现:
/**
* @author 徐登宇
*/
public class Main {
public static void main(String[] args) {
int[] arr = {4, 2, 3, 1, 5};
for (int i = 0; i < arr.length - 1; i++) {
System.out.println(i);
for (int j = 0; j < arr.length - 1 - i; j++) {
System.out.println("["+j+"] " + Arrays.toString(arr));
if (arr[j] > arr[j + 1]) swap(arr, j);
}
}
System.out.println(Arrays.toString(arr));
}
private static void swap(int[] arr, int i) {
arr[i] = arr[i] ^ arr[i + 1];
arr[i + 1] = arr[i] ^ arr[i + 1];
arr[i] = arr[i] ^ arr[i + 1];
}
}