我运行代码:
function bubbleSort(array) {
let len = array.length;
let swapped;
do {
swapped = false;
for (let i = 0; i < len; i++) {
if (array[i] > array[i + 1]) {
let tmp = array[i];
array[i] = array[i + 1];
array[i + 1] = tmp;
swapped = true;
}
}
} while (swapped);
};
let array=[];
for (let index = 0; index < 11000; index++) {
array[index] = Math.floor(Math.random() * (100000));
let sign = Math.floor(Math.random() * 2);
if (sign === 1) array[index] *= -1;
}
let arrayToSort = array.slice();
ell = document.getElementById('p');
ell.innerHTML = "Started";
setTimeout(bubbleSort(array), 3000);
ell = document.getElementById('p');
ell.innerHTML = "Finished";
<p id="p"></p>
但是只有在执行了冒泡排序功能后文本才会发生变化(首先启动,然后立即完成)
为什么文本在函数之前没有改变?大约需要几秒钟。试图推入 setTimeout,但没有结果。我了解该语言的功能,但我不知道如何修复它。
1 个回答