Страница 1 из 1

Алгоритм получения максимального количества массивов из данного.

Добавлено: 12 дек 2009, 14:29
tony
Прошу помочь с алгоритмом получения максимального количества массивов из данного, при чем количество элементов в получаемых массивах должно быть равно N, не должно быть повторений.
Предположим, у нас есть массив [1,2,3] при N=2, мы должно получить:
[1,2]
[1,3]
[2,1]
[3,1]
[2,3]
[3,2]
Буду благодарен за любую подсказку.

Re: Алгоритм получения максимального количества массивов из данного.

Добавлено: 14 дек 2009, 01:50
Decoder
А в чём сложность? Два цикла (при N=2), один внутри другого. Оба цикла перебирают один и тот же исходный массив. Если индексы массива в первом цикле и во втором совпадают, то такая комбинация игнорируется, а в остальных случаях индекс массива из первого цикла и индекс массива второго цикла образуют пару значений элементов.
Если N > 2, то и количество циклов, вложенных один в другой, будет больше.
Либо можно реализовать этот алгоритм с помощью рекурсии, тогда не придётся вкладывать один цикл внутрь другого.