sort排序
这个是sort方法里的那个比较函数的特殊的返回值,比较函数的参数 a 和 b 代表数组里的两个元素,如果 a 小于 b,排序后的数组 a 在 b 前面,此时返回一个负数 (即上面的 return -1)如果 a 等于 b,排序后两者位置不变,此时返回 0 (即上面的 return 0)如果 a 大于 b,排序后 a 在 b 后面, 返回一个正数 (即上面的 return 1)
//比较函数一般简写成:
arr.sort( function(a,b){ return a-b // 升序 } );
arr.sort( function(a,b){ return b-a // 降序 } );
// 对应上面的解释好好想下,不难理解为什么这样写
var array = [4,8,128,1,64,2,16,32];
array = array.sort(compare);
function compare(value1, value2){
if(value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
}else{
return 0;
}
}
以上代码等价于:
array = array.sort(function(value1, value2){
return value1 < value2 ? -1 : 1;
});
相关阅读
1、什么是二叉排序树 二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树二叉搜索树:一棵二叉树,可以为空;如果不为空,满足
这里开始介绍第一种复杂排序算法——希尔排序。我们知道插入排序在有些时候即数据本身基本有序(较小的数据基本在前面,较大的数据基
最开始学习编程,遇到排序问题,一般都是用冒泡法,因为冒泡法好理解,代码量少。但是这种算法时间复杂度高,当需要排序的元素较多时,程序运
自顶向下的归并排序(Merge Sort) O(nlogn)
归并排序的基本思想: 该算法是采用分治法来实现的,将原来的数组不断对半分,直到分得每个数组含有一个元素后,再一层一层归并的过
##原理: 快速排序,说白了就是给基准数据找其正确索引位置的过程. 如下图所示,假设最开始的基准数据为数组第一个元素23,