zoukankan      html  css  js  c++  java
  • 选择排序精简理解

    原理:遍历数组,从第一个开始,将其与剩余的元素进行比较,记录最小的元素及其所在的位置,结束后,将其与应该放到的位置上的元素对调,直到完成排序。

    借用网上的动图直观的看下:

    思想:两个循环,外循环记录位置及进行最后的交换,内循环进行比较及确定最小的元素。

    上代码:

      /**
         * @param {Object} array    需要排序的数组
         */
        function selectSort(array){
            var len = array.length;        //数组的长度
            for(var i = 0; i < len;i++){
                var min = array[i];        //定义最小的数字
                var param;                //过度元素
                var index = i;            //最小的数字的位置
                for(var j = i+1;j < len;j++){
                    if(min > array[j]){        //碰到更小的记录位置,及其值
                        min = array[j];
                        index = j;
                    }
                }
                param = array[i];        //交换位置
                array[i] = min;
                array[index] = param;
            }
            return array;
        }
        
        var arr = [11,2,3,5,7,1,4,6,15,5,2,7,9,10,15,9,17,12];
        console.log("原数据:"+arr);
        console.log("排序后:"+selectSort(arr));

    力求精简,有错指出,谢谢。

  • 相关阅读:
    MyBatis
    spring post 图片
    spring boot
    linux 调用栈打印
    sys.usb.config webcam
    jsp+bean+servlet 案例代码
    常见的http头信息
    通过JSTL+EL实现循环迭代
    EL表达式介绍
    EL表达式
  • 原文地址:https://www.cnblogs.com/bpjj/p/11288204.html
Copyright © 2011-2022 走看看