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));
  • 相关阅读:
    c#动态类型
    [转]鼠标和键盘模拟API
    c#各类型转byte[]或转回
    Unity3D发布安卓报错permisson denied的解决
    NuGet修改packages目录/迁移缓存文件夹
    数据结构:单向链表系列7--交换相邻两个节点2(交换链域/指针域)
    数据结构:单向链表系列6--交换相邻两个节点1(交换数据域)
    数据结构:单向链表系列5--在链表中查找元素
    数据结构:单向链表系列4--获取链表长度(迭代法和递归法)
    数据结构:单向链表系列3--删除节点
  • 原文地址:https://www.cnblogs.com/suihang/p/9495302.html
Copyright © 2011-2022 走看看