zoukankan      html  css  js  c++  java
  • 选择排序和冒泡排序的实现

       //选择排序

            /*实现原理:数组的每一个数都和它后面的每一个数进行比较,找到从它本身到数组结束的最值(这里是最小值),把它和最值得位置进行交换。从而实现排序*/
        @Test
        public void selectSort() {
          
            int[] nums = new int[] {4,8,5,7,6,2,4,9,5,7,3,5};      //定义一个无须数组


            for(int i = 0; i < nums.length - 1; i++) {                   //因为数组的最后一位没有可以比较的了,所以取到数组的倒数第二位


                for(int j = i+1; j < nums.length;j++) {                   //因为是每个数和它后面的数比较,所以从i+1的位置开始比较


                    if(nums[i] > nums[j]) {                                      //控制升序排序,把大于改成小于就是降序排序    

                 
                        int temp = nums[i];                                     //交换位置操作
                        nums[i] = nums[j];
                        nums[j] = temp;
                    }
                }
            }
            System.out.println(Arrays.toString(nums));
        }
        


        //冒泡排序

    /*实现原理:数组的每一个数都只和它后面的紧挨着的一个数进行比较,把两个数中较大的一个数挪到后面。

      这样每一趟完整的比较,最大值都会被挪到最后面,从而实现升序排序*/
        @Test
        public void bubbleSort() {
          
            int[] nums = new int[] {4,8,5,7,6,2,4,9,5,7,3,5};      //定义一个无须数组
           
            for(int i = 0; i < nums.length - 1; i++) {                //第一层的循环是控制总共需要进行多少次完整的比较


                for(int j = 0; j < nums.length -1 -i;j++) {           /*每一次完整的比较,最大的数都被挪到最后面, 所以,后面的数已经排序好了,比较的一直是前面的数。 length-i-1是因为,

                               有i个数已经被挪到最后面了, 这i个数已经是排序好的了,不用比较。 -1是因为, 比较的两个数的的索引是j和j+1*/
                    if(nums[j] > nums[j+1]) {                            //控制升序排序,把大于改成小于就是降序排序
                     
                        int temp = nums[j];                                //交换位置操作
                        nums[j] = nums[j + 1];
                        nums[j + 1] = temp;
                    }
                }
            }
            System.out.println(Arrays.toString(nums));
        }

  • 相关阅读:
    Web项目java.lang.OutOfMemoryError: PermGen space异常解决
    上传预览,图片展示大小的控制
    Eclipse常用插件安装_PropertiesEditor
    JDK的安装配置
    Eclipse与Tomcat的集成(无插件)
    Jsp&Servlet实现读取本地图片并展示
    DB2日期及时间的使用
    图片的另一种展现—将后台图片编码直接展现为图片
    Eclipse Task的使用
    Eclipse引入BASE64Encoder的问题
  • 原文地址:https://www.cnblogs.com/shizhongyang/p/7102180.html
Copyright © 2011-2022 走看看