zoukankan      html  css  js  c++  java
  • js---数组排序法(冒泡排序;快速排序)

    1.冒泡排序

      原理:将数组的相邻两个元素进行比较,大的就往后移,小的往前,依次比较并且进行递减迭代。

        var arr =[54,36,89,1,3,5,2];
    
        function sortArr(arr){
            if(arr&&arr.length>0){
                for(let i=0;i<arr.length;i++){
                    for(let j=0;j<arr.length-1-i;j++){
                        if(arr[j]>arr[j+1]){
                            let temp = arr[j];
                                arr[j] = arr[j+1];
                                arr[j+1] = temp;
                               //变量的解构赋值
                             /*
                              [arr[j],arr[j+1]]=[arr[j+1],arr[j]]
                           */
                        }
                    }
                }
            }
            return arr;
        }
        sortArr(arr);         

    3.快速排序法

      原理:选择一个基准点,一般选折为Math.floor(arr.length/2)为基准点;再把每个元素和基准点进行比较,形成两个子集,反复比较,直到所有元素只剩下 一个位置。

          function quickSort(arr){
            if(arr.length<=1){
                return arr;
            }
            let centerIndex = Math.floor(arr.length/2);
            let centerValue = arr.splice(centerIndex,1)[0];
            let left = [],right = [];
            for(let i =0;i<arr.length;i++){
                if(arr[i]<centerValue){
                    left.push(arr[i])
                }else{
                    right.push(arr[i])
                }
            }
            return quickSort(left).concat([centerValue],quickSort(right))
        }
        quickSort(arr)
  • 相关阅读:
    switch语句
    switch语句
    if语句三种格式
    dowhile语句
    if语句三种格式
    if语句配对
    ansible
    linux系统中网站服务程序(web服务/httpd服务)
    ansible
    ansible
  • 原文地址:https://www.cnblogs.com/huangmin1992/p/8623153.html
Copyright © 2011-2022 走看看