选择排序和冒泡排序

2018-11-22  本文已影响0人  simit

选择排序代码实现:

int[] arr = new int[]{6,3,7,2,5,8};
 public static void selectSort(){

        for(int i = 0 ;i<arr.length-1;i++) {
            for(int j = i+1;j<arr.length;j++) {
                if(arr[i]<arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
//                System.out.println("第"+(i+1)+"次排序--"+"第"+j+"轮交换之后的数组:"+Arrays.toString(arr));
            }
            System.out.println("第"+(i+1)+"次排序:"+Arrays.toString(arr));
        }
        System.out.println("最终排序结果:"+Arrays.toString(arr));
    }

打印排序过程:


飞鸽截图20181122111132.png

查看交换过程:


飞鸽截图20181122111046.png
选择排序的基本实现逻辑:
未命名文件 (2).png

可以得出结论:选择排序是第一次排序找出数组中的最大值,第二次排序找出数组中的第二大的值,以此类推实现排序。
冒泡排序代码实现:

int[] arr = new int[]{6, 3, 7, 2, 5, 8};
  public static void bubbleSort() {
       for (int i = 0; i < arr.length - 1; i++) {
           for (int j = 0; j < arr.length - 1 - i; j++) {
               if (arr[j] < arr[j + 1]) {
                   int temp = arr[j];
                   arr[j] = arr[j + 1];
                   arr[j + 1] = temp;
               }
               System.out.println("第" + (i + 1) + "次排序--" + "第" + (j+1) + "轮交换之后的数组:" + Arrays.toString(arr));
           }
//            System.out.println("第" + (i + 1) + "次排序:" + Arrays.toString(arr));
       }
       System.out.println("最终排序结果:" + Arrays.toString(arr));
   }

打印排序过程:


飞鸽截图20181122154925.png

查看交换过程:


飞鸽截图20181122111132.png
冒泡排序的基本实现逻辑
冒泡排序.png

得出结论:冒泡排序是通过相邻的两个数据的比较,第一次排序找出数组中最小的值放在数组的末尾,第二次排序找出数组中第二小的值放在数组的倒数第二位,以此类推实现排序。

上一篇 下一篇

猜你喜欢

热点阅读