Generowanie permutacji

0

Podstawy pascala/delphi zalapalem uz dosc dawno ale niedawno otrzymałem zadanie ktore jest dla mnie problemem (choc zapewne dla wielu z was wyda sie banalne ;) ). Mianowicie chodzi o generowanie permutacji. Prosilbym jedynie o naprowadzenie mnie w jaki sposob dobrze zaczac robic taki program ktory by generowal permutacje o n zadanych liczbach a jednoczesnie dzialal szybko. jezeli zbiór jest postaci {1,2,3,4} to mozna sie bawic w zmniejszanie/zwiekszanie o 1 ale jesli jest to np. {4,10,20}? prosilbym o jakies wskazówki.

Pozdrawiam i dziekuje za wyrozumialosc

0

Mam tablicę, powiedzmy t[1] do t[n], w której na początek będą liczby od 1 do n
Dość naturalne, że będzie to pierwsza permutacja
W kolejnych permutacjach, na pierwszym miejscu (czyli t[1]) znajdą się po kolei wszystkie elementy tablicy t[], a reszta będzie permutacją mniejszego już zbioru, czyli w t[2] znajdą się po kolei pozostali, a reszta...
Rekurencyjnie dość powiedzmy łatwo, po chwili zabawy powinno to doprowadzić do chyba najzwięźlejszej (uff trudne słowo, szczególnie po 1/2 czy 3/4) postaci.
Pamiętam, że iteracyjnie (bez rekurencji) dało się to też bardzo zwięźle zapisać, przypomni ktoś może?

1 użytkowników online, w tym zalogowanych: 0, gości: 1