zoukankan      html  css  js  c++  java
  • js 几种排序方法

    1、冒泡排序

     1        var arr = [9, 7, 5, 3, 1];
     2        for (var i = 0; i < arr.length - 1; i++) {
     3            for (var j = 0; j < arr.length - 1 - i;j++) {
     4                if (arr[j] > arr[j + 1]) {
     5                    var temp = arr[j];
     6                    arr[j] = arr[j + 1];
     7                    arr[j + 1] = temp;
     8                }
     9            }
    10        }
    11        console.log(arr); 

    2、选择排序

         function selectSort(arr){
            for(var i=0;i<arr.length-1;i++){
            var minIndex = i;
            for(var j=i+1;j<arr.length;j++){
            if(arr[minIndex] > arr[j]){
                minIndex = j;
                }
                }
                if(i!=minIndex){
                var tmp = arr[minIndex];
                arr[minIndex] = arr[i] ;
                arr[i] = tmp;
                    }
                }
                return arr;
                    
                }
                console.log(selectSort(arr));            

    3.快速排序

    var quickSort = function(arr){
    if(arr.length <=1){
        return arr;
    }
    var pivotIndex = Math.floor(arr.length/2);//找基准点
    var pivot = arr.splice(pivotIndex,1)[0];//从pivotIndex位开始删除1位  6
    var left = [];
    var right = [];
    for (var i = 0; i < arr.length; i++) {
        if(arr[i] < pivot){
            left.push(arr[i]);
        }else{
            right.push(arr[i]);
        }
    }
    return quickSort(left).concat([pivot],quickSort(right));//拼接
    
    }
    console.log(quickSort([3,5,1,6,8,2]));

     4.数组的排序方法 sort()+比较函数

      var arr=[33,44,11,22];
            arr.sort(function(num1,num2){
                 return num1-num2;
            }) //[11,22,33,44]
    
        //整个方法是按照 ASCII码进行比较的。
  • 相关阅读:
    linux-文件
    字符串函数
    函数
    内存管理
    静态库、动态库文件制作
    Makefile 待完善
    指针
    开发板GEC6816环境搭建,使用VS code
    C语言数组
    连接开发板下载程序
  • 原文地址:https://www.cnblogs.com/aloehui/p/7701749.html
Copyright © 2011-2022 走看看