Изменения

Перейти к: навигация, поиск

Получение следующего объекта

9 байт добавлено, 19:05, 27 ноября 2014
Специализация алгоритма для генерации следующей мультиперестановки
* Переворачиваем правую часть.
'''int[]''' nextMultiperm(int[] b) <font color=green>// <tex>N</tex> {{---}} длина мультиперестановки</font>
i = N - 12
'''while''' (i > 0) '''and''' (b[i] >= b[i + 1])
i--
'''if''' i > = 0
j = i + 1
'''while''' (j < N- 1) '''and''' (b[j + 1] > b[i])
j++
swap(b[i] , b[j])
'''for''' j = i + 1 '''to''' (N - 1 + i) '''div''' 2 swap(b[j], b[N - j + i + 1]) '''return'''(b[1..N- 1])
'''else'''
'''return''' ''null''
Анонимный участник

Навигация