我有这个函数:
const BFS = (graph, start) => {
let queue = []
queue.push(start)
let visited = []
visited[start] = true
while (queue.lenght > 0) {
let node = queue.shift()
for (var i=1; i<graph[node].length; i++) {
if (graph[node][i] && !visited[i]) {
visited[i] = true
queue.push(i)
}
}
}
}
我想要一个按钮,当我按下它时,可以停止函数的执行,如果我再次按下它,函数会从停止的地方继续执行。
这种操作是否可行?如果是,怎样实现?
while (queue.lenght > 0) {
行中正确拼写单词“length”。 - AdnansetInterval
仅会阻塞一个算法步骤所需的时间(这取决于yield
关键字的位置),因此对于具有相对快速步骤的算法来说,这种阻塞是可以忽略不计的。 - Monsieur Merso