Dai un'occhiata QUI ci sono ben tre algoritmi per le permutazioni.