image.png
    原理

    1. 1、数组两两比较,较大的放右边
    2. 2、每次循环完,无序数组长度-1
    1. public static void bubbleSort(int[] arr){
    2. //[4,1,2,4,6,3,8,9,3]
    3. for (int end = arr.length-1; end >0 ; end--) {
    4. for (int i = 0; i <end ; i++) {
    5. if(arr[i]>arr[i+1]){
    6. swap(arr,i,i+1);
    7. }
    8. }
    9. }
    10. }
    11. public static void swap(int arr[], int left, int right){
    12. if(arr.length==0 || arr.length-1<left || arr.length-1<right){
    13. return;
    14. }
    15. int tmp = arr[left];
    16. arr[left] = arr[right];
    17. arr[right] = tmp;
    18. }
    19. public static void main(String[] args) {
    20. int[] arr = new int[]{4,1,2,4,6,3,8,9,3};
    21. bubbleSort(arr);
    22. System.out.println(Arrays.toString(arr));
    23. }