c++|输出字符串的全排列abc

【c++|输出字符串的全排列abc】比如 a,b ,c三个字母
输出 abc,acb,bac,bca,cab,cba;

#include #include using namespace std; //字符串的全排列 string s; char c[3] = { 'a','b','c' }; int access[3] = { 0 }; //三个标志位,有字母为1,无为0 void getAll() { if (s.size() == 3)//字符串已填满,输出,并退出返回上层 { cout << s << endl; return; } for (int i = 0; i < 3; i++) { if (access[i] == 0)//当前标志位为0,插入 { s.push_back(c[i]); //插入 access[i] = 1; //标志位写为1 getAll(); s.pop_back(); //尾删 access[i] = 0; //标志位写为0; } } } int main() { getAll(); system("pause"); return 0; }

c++|输出字符串的全排列abc
文章图片

    推荐阅读