Код: Выделить всё
function permute(N) {
function swap(x, y) { [ P[x], P[y] ] = [ P[y], P[x] ] }
function heap(n, i) { return (n % 2) || i }
var P = []; for (let i = 1; i 1) {
for (let i = 1; i
< /div>
< /div>
< /p>
реализация 2: < /p>
За утверждение> Заявление. Кроме того, чтобы избежать «ненужных» обменов во время последней итерации цикла для цикла, есть охранник, если (i
Подробнее здесь: [url]https://stackoverflow.com/questions/79666543/explain-difference-of-two-javascript-generator-implementations-of-heaps-permuta[/url]