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
    } 
                
  • 相关阅读:
    go语言练习:go实现md5
    go语言练习:结构体
    go语言练习:指针
    go语言练习:数组
    DEL: MySQL Learning
    EV: Notepad++: Insert Timestamp -- Using Python
    EV: 文件共享的问题
    EV: Ruby: 安装和运行rails
    EV: MySQL Clear Screen
    EV: Ubuntu 的root用户password问题
  • 原文地址:https://www.cnblogs.com/jwenming/p/14435630.html
Copyright © 2011-2022 走看看