zoukankan      html  css  js  c++  java
  • JS中冒泡排序,选择排序,快速排序

        var arr = [1,4,2,9,7,6,5,4,7,5];
        // 冒泡排序(通俗的说就是j 和 j+1打,谁赢了谁去后面)
     
        for(var i = 1;i<arr.length;i++){
            for(var j = 0;j<arr.length - i;j++){
                if(arr[j]>arr[j+1]){
                    var temp =  arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        console.log(arr);


        // 选择排序(通俗的说就是j 和i打,谁赢了谁去前面)
     
        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[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        console.log(arr);



        //速排序:
            取数组中间下标的值,再将其他值与该值相比,大于加入右数组,小于加入左数组,递归调用
     
        function quick(arr){
            // 递归出口条件
            if(arr.length<=1){return arr;}
            // 获取中间下标
            var centerindex = arr.length%2==0?arr.length/2:(arr.length+1)/2;
            // 获取中间下标对应的值
            var centerElement = arr[centerindex];
            // 创建左右数组
            var left = [];
            var right = [];
            // 循环判断,若元素大于中间下表对应的值则加入左数组,反之加入右数组
            for(var i = 0;i<arr.length;i++){
                if((i!=centerindex)&&(arr[i]>=centerElement)){
                    right.push(arr[i]);
                }
                if((i!=centerindex)&&(arr[i]<centerElement)){
                    left.push(arr[i]);
                }
            }
            //递归调用该函数
            return quick(left).concat(centerElement).concat(quick(right));
        }
       console.log(quick(arr));
  • 相关阅读:
    自定义排序方式
    Ajax 调用(传值)一般处理程序(.ashx)
    把一个文件夹下的所有excel添加到datatable
    list比较交集
    禁用未登录通过连接下载文件
    加密方式
    使用response.write输出excel
    linux安装OpenCV以及windows安装numpy、cv2等python2.7模块
    哈希长度扩展攻击(Hash Length Extension Attack)利用工具hexpand安装使用方法
    yafu安装使用方法以及mismatched parens解决方法
  • 原文地址:https://www.cnblogs.com/suihang/p/9495302.html
Copyright © 2011-2022 走看看