我一直在尝试将我的python代码转换为javascript。基本上它是一个插入排序,它也可以使用相对于第一个列表的任意值对相同大小的辅助列表进行排序。
即。 a = [3,2,1]和b = [c,b,a]将为a和b返回[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中运行良好,但在这里根本没有。我做了什么?
非常感谢。
答案 0 :(得分:1)
我无法测试,但我认为必须:
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
}
}