#include <string> #include <vector> #include <iterator> #include <algorithm> using namespace std; void permute(string& list, int level, vector<string>& v){ if(level == list.size()){ v.push_back(list); return; } for(int i=level;list[i];++i){ swap(list[level], list[i]); permute(list, level + 1, v); swap(list[level], list[i]); } } int main(){ string anagrama; vector<string> v; cout << "input character set >"; cin >> anagrama; permute(anagrama, 0, v); sort(v.begin(), v.end()); copy(v.begin(), v.end(), ostream_iterator<string>(cout, "\n")); }
Wednesday, 24 June 2015
How to generate all permutations of an array in sorted order?
Labels:
Algorithm
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment