Listing 2: The program permute.cpp
#include <iostream> #include <string> void permute( std::string prefix, std::string s ) { if ( s.size() <= 1 ) std::cout << prefix << s << "\n"; else for ( char *p = s.begin(); p < s.end(); p++ ) { char c = *p; s.erase( p ); permute( prefix + c, s ); s.insert( p, c ); } } int main() { permute( "", "12345" ); return 0; } End of Listing