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));
  • 相关阅读:
    vue项目中引入tinymce4
    `elementui`表格实现无限滚动
    `index.html`与`App.vue`中有相同`id`的`div`,`main.js`绑定的是哪一个?
    IDEA下新建SpringMVC项目的配置文件
    IDEA中-------Tomcat启动提示404
    一、代理模式:静态代理与动态代理
    Java发送QQ邮件-附jar包下载链接
    Git使用教程(下)
    Git使用教程(中)
    python菜鸟教程学习13:文件操作
  • 原文地址:https://www.cnblogs.com/suihang/p/9495302.html
Copyright © 2011-2022 走看看