【发布时间】:2017-08-15 05:36:25
【问题描述】:
为了做到这一点,插入函数需要通过将大于 value 的项目向右移动来为 value 腾出空间。它应该从 rightIndex 开始,并在找到小于或等于 value 的项或到达数组开头时停止。一旦函数为值腾出空间,它就可以将值写入数组。
var insert = function(array, rightIndex, value) {
var key = value;
for(var i = rightIndex; array[i] > value ; i = i - 1)
{
array[rightIndex + 1] = array[rightIndex];
}
array[i+1] = value;
};
为什么我输入这个数组后这个函数不能正常工作!
var array = [3, 5, 7, 11, 13, 2, 9, 6];
它显示了这个结果:
insert(array, 4, 2);
2,5,7,11,13,13,9,6
【问题讨论】:
-
你想达到什么目的?
-
请点击
<>并创建minimal reproducible example -
2, 3, 5, 7, 11, 13, 9, 6 我要这个答案,问题完全清楚
-
我也不清楚。请更新预期和实际并创建一个有效的 sn-p
-
嗯,你所有的断言都通过了吗?这是错误发生,我的代码执行插入排序算法但这里有问题
标签: javascript arrays insertion-sort