permutacja na podstawie ciągu

0

Witam!

Załóżmy, że mamy ciąg 5,6,7,8,9,10,11,12,13,14,15 i chcę utworzyć wszystkie permutacje tego ciągu. Dodatkowo chciałbym zapamiętać pozycje bazowe, tak bym mógł z permutacji odtworzyć ten ciąg, z którego wyszedłem.

Jak to najkrócej zapisać?

1
#include <iostream>
#include <algorithm>
using namespace std;

int main()
  {
   short tb[]={5,6,7,8,9,10,11,12,13,14,15};
   unsigned tbsize=sizeof(tb)/sizeof(*tb);
   short *tbend=tb+tbsize;
   
   while(next_permutation(tb,tbend))
     {
      for(short *p=tb;p<tbend;++p) cout<<(","+(p==tb))<<*p;
      cout<<endl;
     }
   cin.sync();
   cin.get();
   return 0;
  }

powrót do pierwotnej postaci: sort(tb,tbend);

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