zoukankan      html  css  js  c++  java
  • js数组快速排序和冒泡排序

    1.快速排序

            var arr = [1, 2, 5, 6, 3, 1, 4];
            function mySort(arr) {
                if (arr.length <= 1) {
                    return arr;
                }
                // 获取中间值的索引
                var len = Math.floor(arr.length / 2);
                // 截取中间值
                var middle = arr.splice(len, 1);
                var left = [];
                var right = [];
                for (var i = 0; i < arr.length; i++) {
                    if (middle > arr[i]) {
                        left.push(arr[i])
                    } else {
                        right.push(arr[i])
                    }
                }
                return mySort(left).concat(middle, mySort(right))
            }
            console.log(mySort(arr))//[ 1, 1, 2, 3, 4, 5, 6 ]

    2.冒泡排序

    思想:冒泡排序思想:每一次对比相邻两个数据的大小,小的排在前面,如果前面的数据比后面的大就交换这两个数的位置
          要实现上述规则需要用到两层for循环,外层从第一个数到倒数第二个数,内层从外层的后面一个数到最后一个数

    var bubbleSort=function(arr){  
        for(var i=0;i<arr.length-1;i++){  
            for(var j=i+1;j<arr.length;j++){  
                if(arr[i]>arr[j]){//如果前面的数据比后面的大就交换  
                    var temp=arr[i];  
                    arr[i]=arr[j];  
                    arr[j]=temp;  
                }  
            }  
        }   
        return arr;  
    }  
    console.log("The result is:"+bubbleSort(arr));  
    

      

  • 相关阅读:
    Python学习9——异常
    提取微信小游戏代码
    linux 命令记录
    cpp 线程传递参数
    c++ primer 记录1
    你不知道的js
    js中的对象 函数 原型
    C++ 获取时间
    linux 常见命令
    git 的基本命令
  • 原文地址:https://www.cnblogs.com/samsara-yx/p/7892235.html
Copyright © 2011-2022 走看看