排列——递归
要点:
将递归用于排列的模拟 ,用C++实现
数据结构 string
算法 回溯
细节:
主要分析递归造树的过程 见下图
代码实现:
#include<iostream> #include<cstring> using namespace std; string X; void Try(int k) { cout<<X<<endl; if(k==X.length()-1) { cout<<"X:"<<"\t"<<X<<endl; return ; } for(int i=k;i<X.length(); i++) { char temp; temp=X[k]; X[k]=X[i]; X[i]=temp; Try(k+1); X[i]=X[k]; X[k]=temp; } } int main() { cin>>X; Try(0); return 0; }
运行结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步