冒泡排序
直接上代码,看注释
public class BubbleSort{
// 他不是一次性就能比完大小,而是一次又一次的筛选最大的数放后面
public static void bubbleSort(int[] arr){
if (arr == null || arr.length < 2){
return;
}
//2.最大的数到了最后一个位置,最大数的数就不用再参与循环了,所以坐标递减
for (int i = arr.length - 1; i > 0;i--) {
// 3. 剩下的数继续循环对比。
// 1.前后元素对比,大的放后面,最后最大的数就在最后一个位置(坐标)
for (int j = 0;j < i; j++){
if (arr[j] > arr[j+ 1]){
swap(arr,j,j+ 1);
}
}
}
}
// 数组元素交换
public static void swap(int[] arr,int i,int j){
arr[i] = arr[i] ^ arr[j];
arr[j] = arr[i] ^ arr[j];
arr[i] = arr[i] ^ arr[j];
}
public static void main(String[] args) {
int[] arr={3,5,4,6,8,9,7,6,12};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
}