Advertisement
dalvorsn

Untitled

Apr 1st, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. bool permutate(char *str)
  2. {
  3.     int len = strlen(str);
  4.     for(bool stop = false; !stop;) {
  5.         dump << str << endl;
  6.         for(int i = len - 2, j = len - 1;;j=i--) {
  7.             if(str[i] < str[j]) {
  8.                 int k = len - 1;
  9.                 while(str[k] <= str[i])
  10.                     --k;
  11.                 swap(str[i], str[k]);
  12.                 reverse(str + j, str + len);
  13.                 break;
  14.             } else if(i <= 0) {
  15.                 stop = true;
  16.                 break;
  17.             }
  18.         }
  19.     }
  20. }
  21.  
  22. int main()
  23. {
  24.     char chars[] = "abcd";
  25.     permutate(chars);
  26.     return 0;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement