javascript - javascript 中的插入排序帮助 -- 可汗学院

标签 javascript algorithm

我想我快要解决这个问题了,但我不确定为什么我的代码没有正确执行。有人可以为我提供一些反馈并告诉我哪里搞砸了吗?

var insert = function(array, rightIndex, value) {
    for(var j = rightIndex;
        j >= 0 && array[j] > value;
        j--) {
        array[j + 1] = array[j];
    }   
    array[j + 1] = value; 
};

var insertionSort = function(array) {
    for(var i = 1; i < array.length; i++){
        insert(array, array.length -1, i);
    }
};

var array = [22, 11, 99, 88, 9, 7, 42];
insertionSort(array);
println("Array after sorting:  " + array);
//Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);

如果我这样做 insert(array, array[i], i);,我得到以下输出:

排序后的数组:22,11,12,100,89,10,8,43,5,,4,,1,,

最佳答案

I got here another solution for this insertion sort:


var insert = function(array, rightIndex, value) {
    for(var j = rightIndex; j >= 0 && array[j] > value; j--) {
        array[j + 1] = array[j];
    }
    array[j + 1] = value; 
};

var insertionSort = function(array) {
    for(var i = 0; i &lt; array.length-1; i++){
        insert(array, i, array[i+1]);
    }
};

var array = [22, 11, 99, 88, 9, 7, 42];
insertionSort(array);

关于javascript - javascript 中的插入排序帮助 -- 可汗学院,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30713386/

相关文章:

javascript - 修复顶部栏 SharePoint 2013

algorithm - 用于人类比较的列表排序算法

c++ - 需要有关二叉树程序的帮助(不是二叉搜索树)

c++ - 使用给定的节点数和不相邻边列表查找最大团

javascript - 回调在自重复函数中不起作用

javascript - 根据从下拉列表中选择的数据从数据库中选择数据

javascript - 可能的嵌套异步函数

javascript - JS - 函数执行后延迟重新加载位置

C++:第一个非重复字符,使用 HashMap 的 O(n) 时间

arrays - 将一个数组分成子数组,使它们的长度与异或的乘积之和最小