【发布时间】:2020-09-29 22:48:39
【问题描述】:
我正在尝试对冒泡排序进行递归编程。 到目前为止,这是我的代码:
function recursive_bubble_sort(array) {
if (array.length === 1) {
return array;
}
for (var i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
var temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
return [recursive_bubble_sort(array.splice(0, array.length - 1)), array[array.length -1]];
}
从技术上讲,它对数组进行排序,但返回的不是一维数组,而是反向二叉树结构。
如果给定数组是[ 8, 2, 5, 1 ],
输出将是[ [ [ [ 1 ], 2 ], 5 ], 8 ]。
如何更改代码,使输出如下所示:[ 1, 2, 5, 8 ]?
【问题讨论】:
标签: javascript arrays sorting recursion bubble-sort