首页 > 编程知识 正文

数字排列组合生成器(全排列算法)

时间:2023-05-06 06:08:39 阅读:121161 作者:3341

输入字符,对字符进行完全排序。 这里用了两种方法。 递归调用(有些书写为DFS )和c系统附带的方式。

# include iostream # include string # includealgorithmusingnamespacestd; char output[10]; bool s[10]; voidpermutation(stringstr,int index ) if (index==str.size ) ) for (inti=0; i str.size (; I ) {cout output[i]; }cout endl; 返回; }for(intI=0; i str.size (; I )//每个位置有三个选择(if ) s[I] ) { continue; //这个位置不能选择这个字符。 output[index]=str[i]; s[i]=true; 性能(str,索引1 ); s[i]=false; //上溯,重要的一步}}int main (() {string s; cin s; //自定义全数组permutation(s,0 ); //系统的所有数组行数(如果没有,则为falsewhile(next_permutation ) s.begin,s.end ) ) {cout s endl; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。