码迷,mamicode.com
首页 > 编程语言 > 详细

选择排序和冒泡排序的实现

时间:2017-07-01 14:35:42      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:test   ble   冒泡   round   color   最小值   定义   交换   倒数   

   //选择排序

        /*实现原理:数组的每一个数都和它后面的每一个数进行比较,找到从它本身到数组结束的最值(这里是最小值),把它和最值得位置进行交换。从而实现排序*/
    @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));
    }

选择排序和冒泡排序的实现

标签:test   ble   冒泡   round   color   最小值   定义   交换   倒数   

原文地址:http://www.cnblogs.com/shizhongyang/p/7102180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!