排序 (哈希) js
先上代码实例
var arr = [9, 2, 3, 4, 6, 5, 7, 8, 1];
var max = arr[0];
for (var i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
var log = new Array(max).fill(null);
for (var j = 0; j < arr.length; j++) {
log[arr[j] - 1] = arr[j];
}
for (var j = 0; j < log.length; j++) {
document.write(log[j]);
}
首先我们要找出数组的最大值,来创建一个能够装下arr数组里所有数的一个数组。
于是我们创建一个数组以arr数组最大值作为新数组的长度来确保能够装下它。
最后我们再根据原来arr数组里面的值,赋值到对应下标-1的对应位置去。