#include
std::string s = "abc"
do
{
v.push_back( s )
}
while( next_permutation(s.begin(), s.end()) );
Smíðar allar samsetningar á röðun 'a','b' og 'c' og vistar þær í v.
Bjútíið í þessu er að til þess að geta gert þetta með custom hluti þá þarf einungis að implementa less-than operatorinn.
struct Box
{
public:
int number;
bool operator < (const Box& b)
{
return number < b.number;
}
};
typedef std::vectorBoxes;
Boxes b;
b.push_back( Box(1) );
b.push_back( Box(2) );
b.push_back( Box(3) );
std::vectorperms;
do
{
perms.push_back( b )
}
while( next_permutation(b.begin(), b.end()) );
Sweeeet :D
Engin ummæli:
Skrifa ummæli