zoukankan      html  css  js  c++  java
  • js三种经典排序:冒泡排序、插入排序、快速排序

    冒泡排序:
    function bubbleSort(arr){
        for(var r=1;r<arr.length-1;r++){
            for(var i=0;i<arr.length-r;i++){
                if(arr[i]>arr[i+1]){
                    arr[i]+=arr[i+1];
                    arr[i+1]=arr[i]-arr[i+1];
                    arr[i]-=arr[i+1];
                }
            }
        }
    }
    bubbleSort(arr);
    

      插入排序:

    function insertSort(arr){
        for(var i=1;i<arr.length;i++){
            var t=arr[i];
            var p=i-1;
            while(p>=0&&arr[p]>t){
                arr[p+1]=arr[p];
                p--;
            }
            arr[p+1]=t;
        }
    }
    insertSort(arr);
    

     快速排序:

    function quickSort(arr){
        if(arr.length>1){
            var c=parseInt((arr.length+1)/2);
            var center=arr.splice(c,1)[0];
            var left=[],right=[];
            for(var i=0;i<arr.length;i++){
                if(arr[i]<center) left.push(arr[i]);
                else right.push(arr[i]);
            }
            return quickSort(left).concat(center,quickSort(right));
        }else{
            return arr;
        }
    }
    arr=quickSort(arr);
    console.log(String(arr));
    

      

     
  • 相关阅读:
    php
    php
    linux 网络管理基础 OSI ISO IOS的区别
    Linux 添加交换分区的步骤
    linux 命令
    linux命令
    linux 命令
    linux 命令
    Linux命令
    linux命令- 挂载命令 mount
  • 原文地址:https://www.cnblogs.com/harlem/p/6669581.html
Copyright © 2011-2022 走看看