如果我有後不同的結果:next_permutation有被稱爲功能
bool shuffle(string s){
return next_permutation(s.begin(), s.end());
}
int main(int argc, char* argv[]){
string m = "abcde5";
do {
cout << m << endl;
} while(shuffle(m));
我會得到:
abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 abcde5 ... abced5
這是不我想
但是,如果我做:
int main(int argc, char* argv[]){
string m = "abcde5";
do {
cout << m << endl;
} while(next_permutation(m.begin(), m.end()));
我會得到
abcde5 abce5d abced5 abd5ce abd5ec abdc5e abdce5 abde5c abdec5 abe5cd abe5dc abec5d abecd5 abed5c abedc5 ac5bde ac5bed ac5dbe ac5deb ac5ebd ac5edb acb5de acb5ed acbd5e acbde5 ... edcba5
這是我想要。
有什麼區別?我查了下next_permutation,看起來像是返回一個bool,所以我現在很困惑。
很好的接收,非常感謝! – HoKy22 2013-02-18 20:35:12