感觉不太可,我补全代码,这种好像不能保证字母输出的顺序 #include<iostream> #include<string> #include<algorithm> /* 以abc为例 第一个数字 a b c 第二个数字 a b c 第三个数字 a b c */ using namespace std; string s; void swaps(char & x, char & y){ char tmp = x; x = y; y = tmp; } void Factorial(string str,int l, int r){ if(l == r){ cout << str << endl; return; } for(int i = l; i <= r; i++){ swaps(str[l],str[i]); Factorial(str,l+1,r); swaps(str[l],str[i]); } } int main(){ cin >> s; sort(s.begin(),s.end()); cout << s << endl; Factorial(s,0,s.size()-1); return 0; }</algorithm></string></iostream>
点赞

相关推荐

昨天 20:46
武汉大学 Java
点赞 评论 收藏
分享
淬月星辉:专利是什么?至少描述一下吧,然后把什么计算机二级、普通话这种拉低格调的证书删掉,不然hr以为你没东西写
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务