Если под вектором инверсий вы подразумеваете массив из чисел, которые представляют собой количество чисел в перестановке меньших заданного, то для начала прочитайте пару страниц Окулова:
http://www.e-reading.me/djvureader.php/135644/35/Okulov_-_Programmirovanie_v_algoritmah.html
2 известных мне способа генерации перестановки по массиву инверсий оба не рекурсивные:
-- Первый используется для генерации перестановки в виде списка, заполняясь при прямом проходе массива инверсий.
-- Второй использует перестановку как массив и использует обратный проход по массиву. Он в качестве примера описан на указанной (35ой) странице книги.
Для практической реализации:
1. Забить массив нулями (представляют звёздочки в книге)
2. На каждом шаге пробегаться по массиву, считая нули и заменяя подходящий ноль на цифру.