fork download
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. void permutation(std::string prefix, std::string remaining) {
  5. if (remaining.size() == 0) {
  6. std::cout << prefix << std::endl;
  7. } else {
  8. for (size_t i = 0; i < remaining.size(); ++i) {
  9. std::string nextPrefix = prefix + remaining[i];
  10. std::string nextRemaining = remaining;
  11. nextRemaining.erase(i, 1);
  12. permutation(nextPrefix, nextRemaining);
  13. }
  14. }
  15. }
  16.  
  17. int main() {
  18. std::string numbers = "1234";
  19. permutation("", numbers);
  20. return 0;
  21. }
Success #stdin #stdout 0s 5304KB
stdin
Standard input is empty
stdout
1234
1243
1324
1342
1423
1432
2134
2143
2314
2341
2413
2431
3124
3142
3214
3241
3412
3421
4123
4132
4213
4231
4312
4321