冒泡排序
主要思想
将相邻的两个元素进行比较,小的排前面,大的排后面。
代码实现
package sort;
public class bubblesort {
public static void bubblesort(int[] arr) {
if(arr == null || arr.length < 2) {
return;
}
// for(int i = 0; i < arr.length - 1; i++) {
// for(int j = 0; j < arr.length - 1;j++) {
// if(arr[j] > arr[j+1]) {
// swap(arr, j, j+1);
// }
// }
// }
for(int e = arr.length - 1; e > 0; e--) {// 交换的轮次
for(int i = 0; i < arr.length - 1; i++) {// 循环交换
if(arr[i] > arr[i+1]) {
swap(arr, i, i+1);
}
}
}
}
public static void swap(int[] arr, int i, int j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
public static void main(String[] args) {
int[] arr1 = {1, 12, 15, 66, 12, 45};
bubblesort(arr1);
for(int i : arr1) {
System.out.println(i);
}
}
}