De recursie heeft me geholpen! Ik heb het uitgetest met Pascal (Delphi 5) en het werkt en ook best snel. bedankt.
procedure permu(elm:integer;original:work); // original is een array van characters ; kan elm elementen bevatten var ij:integer; begin // showit laat inhoud van array zien if elm=1 then showit(original) else begin for ij:=elm downto 1 do begin wissel(original,ij,elm);// wissel element [ij] met [elm] permu(elm-1,original); end; end; end;