void permute(string elems, int mid, int end) { static int count; if (mid == end) { cout << ++count << \" : \" << elems << end
Here's one I just rustled up!!
void permute(const char* str, int level=0, bool print=true) { if (print) std::cout << str << std::endl; char temp[30]; for (int i = level; i