Javascript插入排序错误

Javascript insertion sort bug

本文关键字:错误 插入排序 Javascript      更新时间:2023-09-26

我一直在尝试将我的python代码转换为javascript。基本上,它是一个插入排序,也排序一个相对于第一个列表具有任意值的相同大小的二级列表。

。A =[3,2,1]和b = [c,b, A]将返回[1,2,3]和[A,b,c]。

下面是我的代码:

function insertionSort(alist,bList){
    for (index=1;index<alist.length;index++){
        var currentvalue = alist[index]
        var currentvalue2 = blist[index]
        var position = index
    }
    while (position>0 && alist[position-1]>currentvalue){
        alist[position]=alist[position-1]
        blist[position]=blist[position-1]
        position = position-1
    }
    alist[position]=currentvalue
    blist[position]=currentvalue2
}

在python中工作得很好,但在这里就不行。我做了什么?

我不能测试它,但我认为它必须是:

function insertionSort(alist,bList){
    for (index=1;index<alist.length;index++){
        var currentvalue = alist[index]
        var currentvalue2 = blist[index]
        var position = index
        while (position>0 && alist[position-1]>currentvalue){
            alist[position]=alist[position-1]
            blist[position]=blist[position-1]
            position = position-1
        }
        alist[position]=currentvalue
        blist[position]=currentvalue2
    }
}