Jeśli chcesz to zrobić łatwo - std::next_permutation.
Jeśli chcesz to zrobić samemu, to najprościej będzie zrobić funkcję zwracającą i-tą permutację w sposób rekurencyjny. Pamiętaj tylko, że liczba wszystkich permutacji rośnie bardzo szybko i dla N elementów wynosi N!, gdzie N! = 1 * 2 * ... * N.
Np. 13! = 6227020800, więc "ostrożnie" z własną implementacją :)