Изменения

Перейти к: навигация, поиск
м
отформатировал псевдокод
==Решение==
Пусть <br/>
*''<tex>\mathtt{random(1..i);'' }</tex> генерирует случайное число в интервале <tex> [1;\; i] </tex> <br/>
Следующий алгоритм решает задачу:
function '''int *a''' randomPermutation('''int *a:array[1..n] of integer'''):array[1..n] of integer // '''*a''' - указатель на массив типа '''int''' длины '''n — длина массива''' '''for ''' i = 1 '''to ''' n j = <tex>\mathrm{random(1..i)}</tex> <tex>\mathrm{swap(a[i], a[j])}</tex>
return a
39
правок

Навигация