zoukankan      html  css  js  c++  java
  • 排序—选择排序

    选择排序

    排序要求:把长度为n的数组a按照从小到大的顺序进行排序。

    冒泡排序思路:给定一个长度为n的数组a,循环n-1次,每次循环找出a[i]到a[n]中最小数的数,然后把该数和a[i]交换位置。

    如何找出最小的数?:循环数组,逐个判断大小,把较小的数的脚标取出来,此次循环结束之后把脚标位置的数和a[i]进行交换。

    排序示例:

    原数组:     2、0、3、6、8、4、9、5、1、7、
    第1次循环排序结果: 0、2、3、6、8、4、9、5、1、7、
    第2次循环排序结果: 0、1、3、6、8、4、9、5、2、7、
    第3次循环排序结果: 0、1、2、6、8、4、9、5、3、7、
    第4次循环排序结果: 0、1、2、3、8、4、9、5、6、7、
    第5次循环排序结果: 0、1、2、3、4、8、9、5、6、7、
    第6次循环排序结果: 0、1、2、3、4、5、9、8、6、7、
    第7次循环排序结果: 0、1、2、3、4、5、6、8、9、7、
    第8次循环排序结果: 0、1、2、3、4、5、6、7、9、8、
    第9次循环排序结果: 0、1、2、3、4、5、6、7、8、9、

        public void selectionSort(int[] array) {
            printArray("原数组:", array);
            int min=0;
            int temp;
            for(int i=0;i<array.length-1;i++){
                min=i;
                for(int j=i;j<array.length;j++){
                    if(array[min]>array[j]){
                        min=j;
                    }
                }
                temp=array[i];
                array[i]=array[min];
                array[min]=temp;
                
                printArray("第" + (i + 1) + "次循环排序结果: ", array);
            }
        }
  • 相关阅读:
    经管-7
    均衡价格和均衡产量以及偏分求导
    点弹性系数计算
    洛谷-P5703 【深基2.例5】苹果采购
    洛谷-P1616 疯狂的采药
    洛谷-P1049 装箱问题
    洛谷-P1048 采药
    洛谷-P1064 金明的预算方案
    操作系统启动
    mybatis中使用注解查询和使用xml配置文件查询相互对应关系
  • 原文地址:https://www.cnblogs.com/PerkinsZhu/p/5661496.html
Copyright © 2011-2022 走看看