【发布时间】:2019-06-14 01:13:18
【问题描述】:
从我在这个网站上找到的 SORTING 算法开始(真的很酷,它可以让你在算法运行时可视化它们......),我想翻译他们的代码 [我不确定它是什么语言...... ] 到 Javascript,并将其应用于要排序的数字数组。
经过多次尝试,我仍然没有整理出来,我的代码也没有提供排序后的数组。
- 1) 关于如何修复它的任何建议?
- 2) 我看到 VisuAlgo 代码在
for循环内、do-while循环内使用if语句……这在 Javascript 中可行吗?在我看来,do while中的if else语句(请参阅我的实际代码)可以替换for。
谢谢!
VisuAlgo 代码 (https://visualgo.net/en/sorting):
do
swapped = false
for i = 1 to indexOfLastUnsortedElement-1
if leftElement > rightElement
swap(leftElement, rightElement)
swapped = true
while swapped
我的代码:
function swap(element1, element2) {
var t = element1;
element1 = element2;
element2 = t;
return [element1, element2];
};
var startArray = [2, 1, 0, 5, 1];
var swapped = true;
do {
for (i = 0; i < startArray.length; i++) {
if (startArray[i] > startArray[i+1]) {
swap(startArray[i], (startArray[i]+1));
console.log(startArray);
i++;
} else {
swapped = false;
}
}
}
while (swapped);
console.log(startArray);
【问题讨论】:
标签: javascript for-loop if-statement do-while bubble-sort