我试图在用户定义的项目列表上执行合并排序(我打开建议使用不同的排序方法)。他们可能是宠物名字,足球队或其他任何东西。我想使用合并排序来最小化用户必须看到的比较次数。最后,用户获得项目的排名列表。
我遇到的问题是让Javascript等到用户点击我在页面上显示的其中一个按钮。
例如,从此处的示例:http://www.stoimen.com/blog/2010/07/02/friday-algorithms-javascript-merge-sort/
合并步骤:
if (left[0] <= right[0]) {
result.push(left.shift());
} else {
result.push(right.shift());
}
我想用
if(/*user clicked left button*/)
result.push(left.shift());
} else {
result.push(right.shift());
}
据我所知,代码必须分解,可能使用合并排序的迭代版本。但是,我无法直观地了解如何实现这一目标。