回溯法——穷举所有排列

描述
输入一个小于10的正整数n,按把每个元素都交换到最前面一次的方法,输出前n个小写字母的所有排列。
 
输入
输入一个小于10的正整数n。
 
输出
按把每个元素都交换到最前面一次的方法,输出前n个小写字母的所有排列。
 
输入样例
3

 
输出样例
abc
acb
bac
bca
cba
cab

直接贴代码= =


#include <iostream> using namespace std; char a[10] = {'a','b','c','d','e','f','g','h','i','j'}; int n; void search(int m); void output(); int main() { cin >> n; search(0); } void search(int m) { if(m == n) { output(); } else { for(int i = m; i < n; i++) { swap(a[i], a[m]); search(m + 1); swap(a[i], a[m]); } } } void output() { for(int i = 0; i < n; i++) { cout << a[i]; } cout << endl; } 


    原文作者:回溯法
    原文地址: https://blog.csdn.net/sayniceoh/article/details/53136486
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞