冒泡排序的核心思想是通过最近邻的两个元素进行交换,每一趟将一个最大的元素调整到数组的正确位置,直到整个数组完整有序才完毕.
import java.util.Arrays;
public class BubbleSort {
public static void main(String[] args) {
//冒泡排序
int[] arr = {1,4,46,64,3,6,76,85,854,345,664,77};
bubble(arr,arr.length);
System.out.println(Arrays.toString(arr));
}
private static void bubble(int[] arr,int n) {
if(n<=1){
return ;
}
for(int i=0;i<n;++i){
boolean flag=false;
//一趟的循环
for(int j =0;j<n-i-1;++j ) {
if (arr[j] > arr[j + 1]) {
swap(arr,j,j+1);
flag=true;
}
}
if(!flag) break;
}
}
private static void swap(int[] arr,int i,int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}