• js冒泡排序


    利用sort()冒泡排序:

    var arr = [5,39,8,1,2,13,55];
          arr = arr.sort(function(a,b){return a-b});
    console.log(arr);//1,2,5,8,13,39,55

    不声明第三个变量冒泡排序:

    第一层遍历数组的个数(要遍历多少次),第二次遍历(共要循环几次)

    a = 10; //第一个元素

    b = 5;  //下一个元素

    if(a>b){

      a = a+b;  // a(15) = 10 +5;

      b = a-b;  // b(10) = 15 - 5;

      a = a-b;  // a(5)  = 15 - 10;

    }

    复制代码
    var arr = [5,39,8,1,2,13,55];
            function jssort(ele){
                for (var i=0;i<ele.length;i++){ //要循环多少次
                    for (var j=0;j<ele.length-i-1;j++){ //要移动几次
                        if(ele[j]>ele[j+1]){
                            ele[j]=ele[j]+ele[j+1];  //a = a+b 
                            ele[j+1]=ele[j]-ele[j+1];//b = a-b
                            ele[j]=ele[j]-ele[j+1];  //a = a-b
                        }
                    }
                }
                return ele;
            }
            console.log(jssort(arr));//1,2,5,8,13,39,55
    
    
    复制代码

     今天在网上看见这样一个冒号排序

    一个数组包含元素号,“110金刚3号”,“200金刚1号”,“50金刚2号”,“30金刚6号”,“30金刚5号”,“30金刚4号” 如何根据字符串中后面的多少号对数组进行排序。

    答案:利用sort()排序,在回调函数中使用正则表达式

    arr.sort(function(a,b){return parseInt(a.match(/(d+)(?=号)/)[1])-parseInt(b.match(/(d+)(?=号)/)[1])});

    match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

    该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

    a.match(/(d+)(?=号)/    //数字+零次或一次匹配前面的字符或子表达式。

  • 相关阅读:
    基础抽象代数
    斜堆
    WC2018
    WC2019
    有向图上不相交路径计数
    生成树计数
    Pr&#252;fer序列
    反演
    1.1 Linux中的进程 --fork、孤儿进程、僵尸进程、文件共享分析
    Python程序的执行过程 解释型语言和编译型语言
  • 原文地址:https://www.cnblogs.com/-ooo-/p/5733356.html
Copyright © 2020-2023  润新知