全排列函式next_permutation
阿新 • • 發佈:2018-11-28
全排列函式next_permutation
next_permutation(begin,end)在algorithm標頭檔案中,begin是陣列的頭,end是陣列的尾
char/int型別:
#include<iostream> #include<algorithm> //next_permutation所在的標頭檔案 #include<cstring> using namespace std; /* C++中全排列函式的使用:但它不會輸出原始輸入的那種排列方式 */ int main() { int len; char a[1000]; while(cin>>a) //輸入 { len=strlen(a); //求得陣列長度 while(next_permutation(a,a+len)) //遍歷整個陣列 { cout<<a<<endl; //輸出每一種可能 } memset(a,'\0',sizeof(a)); //初始化 } return 0; }
string型別:
#include<iostream> #include<algorithm> //next_permutation #include<cstring> using namespace std; /* C++中全排列函式的使用:但它不會輸出原始輸入的那種排列方式 */ int main() { int len; string s; while(cin>>s) //輸入 { len=s.length(); //求得陣列長度 while(next_permutation(s.begin(),s.end())) //遍歷整個陣列 { cout<<s<<endl; //輸出每一種可能 } } return 0; }