zoukankan      html  css  js  c++  java
  • sort排序以及利用冒泡排序实现sort

    默认情况下的sort是对字符编码(字符对应编码),进行从小到大排序,比如banan 会排在 cheer之前,但是这个没多大用处;

    主要的用法是:

    要对sort方法传进来一个比较函数(comparefunction),指定排序规则;

    比较函数对相邻的两个元素进行比较,根据返回值的结果,如果前面的比后面的小,则位置不变,反之交换位置,类似于冒泡排序。

    因为他取决于后面的具体的比较函数,所以无法保证排序时间和空间的复杂性。

    1: 比较数组中的排序;

    2: 按照对象的某一个属性进行排序;

    var arr=[4,2,1,5,6];
    arr.sort(function (a,b) {
       return  a-b;
    });// [1,2,4,5,6];
    
    var items= [value:34,value:45,value:1,value:4];
    items.sort(function (a,b) {
        retun a.value-b.value;
    });
    
    等同于
    
    items.sort(function(value){
        return function(a,b){
           return a[value]-b[value];
        }
    })

    利用冒泡排序实现sort

    function sort(arr = [], fn){   
        for (var i = 0; i < arr.length - 1; i++) { 
            for (var j = 0; j < arr.length - 1 - i; j++) {
                   if (fn(arr[j], arr[j + 1]) > 0) {
                            [arr[j],arr[j+1]] = [arr[j+1],arr[j]]                            
                       }
                  }   
         }   
             return arr
    } 
                
  • 相关阅读:
    unity assert server 与 cache server
    Excel文件读写
    String与StringBuilder之间区别(转)
    c# 文件遍历
    C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别
    2014年读过的书总结
    求职在年末
    被辞退于年末
    Unity Svn(转)
    公司的人员流动
  • 原文地址:https://www.cnblogs.com/jwenming/p/14435630.html
Copyright © 2011-2022 走看看