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));  
    

      

  • 相关阅读:
    C# sqlhelp
    vs2015 C#打包程序为exe
    python3.6安装docx模块
    python 第八天
    python 第七天
    python 选课系统
    python 第六天
    python 模拟实现一个ATM + 购物商城程序
    python 计算器
    python 第五天
  • 原文地址:https://www.cnblogs.com/samsara-yx/p/7892235.html
Copyright © 2011-2022 走看看