003:全排列
阿新 • • 發佈:2019-01-08
003:全排列
-
給定一個由不同的小寫字母組成的字串,輸出這個字串的所有全排列。 我們假設對於小寫字母有'a' < 'b' < ... < 'y' < 'z',而且給定的字串中的字母已經按照從小到大的順序排列。
- 輸入
- 輸入只有一行,是一個由不同的小寫字母組成的字串,已知字串的長度在1到6之間。
- 輸出
-
輸出這個字串的所有排列方式,每行一個排列。要求字母序比較小的排列在前面。字母序如下定義:
已知S = s 1s 2...s k , T = t 1
s 1 = t 1, s 2 = t 2, ..., s p - 1 = t p - 1, s p < t p成立。 - 樣例輸入
-
abc
- 樣例輸出
-
abc acb bac bca cab cba
#include <iostream> #include <algorithm> using
依次選擇首元素,
swap 後不用換回來
例 1234--------- 進入子問題遞迴 234 324 423 --------- 選擇234 進入子問題遞迴 34 43 輸出
2134---------。。。。
3124--------。。。。
4123--------。。。。。