数组排序

Posted lxynn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组排序相关的知识,希望对你有一定的参考价值。

1、从小到大排列   

   1-1:使用两个for循环

var arr = [1, 5, 2, 9, 10, 8];
var min;
for (var i=0; i<arr.length-1; i++)  {
    for (var j=i+1; j<arr.length; j++)  {
         if (arr[i]>arr[j]) {
            ts = arr[j];
            arr[j] = arr[i];
            arr[i] = ts;               
         }
    }
} 
console.log(arr); // [1, 2, 5, 8, 9, 10]

 

  1-2:使用数组的sort()

var arr = [1, 5, 2, 9, 10, 8];
arr.sort(function(a, b) {
    if (a>b) {
        return 1;
    } else if (a<b) {
        return -1;
    } else {
        return 0;
    }
});
// [1, 2, 5, 8, 9, 10]

 

2、从大到小排列

    2-1:使用两个for循环    

var arr = [1, 5, 2, 9, 10, 8];
var max;
for (var i=0; i<arr.length-1; i++)  {
    for (var j=i+1; j<arr.length; j++)  {
         if (arr[i]<arr[j]) {
            ts = arr[j];
            arr[j] = arr[i];
            arr[i] = ts;               
         }
    }
} 
console.log(arr); // [10, 9, 8, 5, 2, 1]

 

    2-2:使用数组的sort()

var arr = [1, 5, 2, 9, 10, 8];
arr.sort(function(a, b) {
    if (a>b) {
        return -1;
    } else if (a<b) {
        return 1;
    } else {
        return 0;
    }
});
// [10, 9, 8, 5, 2, 1]

 

以上是关于数组排序的主要内容,如果未能解决你的问题,请参考以下文章

以下代码片段的时间复杂度是多少?

快速排序-递归实现

对数组中的字符串进行排序,使其稀疏

算法排序之堆排序

在第6731次释放指针后双重免费或损坏

VSCode自定义代码片段—— 数组的响应式方法