Tworzenie wszystkich możliwych kombinacji n elementów w C ++

Są n osób ponumerowanych od1 don. Muszę napisać kod, który tworzy i drukuje wszystkie różne kombinacjek ludzie z tychn. Proszę wyjaśnić algorytm używany do tego.