比如一个数组:
[235, 42, 8, 100]
现在需要按末位进行排序, 最后的结果应该是:
[100, 42, 235, 8]
请问:如何实现这个功能, 需要的是算法
感谢@lejoy指点, 一个简单的冒泡末位排序可以这样:
function sort(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 1; j < arr.length; j++) {
// 和冒泡排序差别就在这行...
if (arr[j] % 10 < arr[j - 1] % 10) {
let tmp = arr[j - 1]
arr[j - 1] = arr[j]
arr[j] = tmp
}
}
}
console.log(arr)
}
sort([55, 41, 32, 23, 19])
和普通的排序方式一样。比如,冒泡排序:遍历,比较二者。区别在于:你这个需求,在比较的时候,两个值都 %10 取模, 小的放前面,大的放后面...