Блок задач

2. Алгоритмы

Темы
Сложность 4

Задача «Все перестановки»

Реализовать функцию, генерирующую все перестановки чисел от 0 до N-1.

int *permutations(int N);

Функция самостоятельно выделяет необходимое количество памяти malloc и последовательно заполняет ее перестановками в произвольном порядке. Например, при вызове с N = 2 будет выделено памяти под массив из четырех чисел, который будет заполнен следующим образом:

{ 0, 1, 1, 0 }

или так:

{ 1, 0, 0, 1 }

Функция возвращает указатель на заполненный массив или 0, если не удалось выделить достаточно памяти.