美文网首页
选择排序和冒泡排序

选择排序和冒泡排序

作者: simit | 来源:发表于2018-11-22 15:58 被阅读0次

    选择排序代码实现:

    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

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

    相关文章

      网友评论

          本文标题:选择排序和冒泡排序

          本文链接:https://www.haomeiwen.com/subject/ejzkqqtx.html