7.2.1(按照字典序全排列)

来源:互联网 发布:java入门123 编辑:程序博客网 时间:2024/05/29 08:58

诶诶诶,,,又忘了全排列的模版函数了,,,晕死了..忘了存到哪里去了,,呜呜,,

下次一定存到博客上面来.,..不对呀...我记得存进来了呀??

需要注意的地方我都标记了

#include <stdio.h>#include <string.h>#include <iostream>#include <string>using namespace std;const int maxn = 11111;int n;int a[maxn];void Print_permutation(int *a, int cur){if (cur == n){for (int i = 0; i < n; i++){printf("%d",a[i]);}cout << endl;return ;}for (int i = 1; i <= n; i++) //  保证从1----n是字典序排列. {int ok = 1;for (int j = 0; j < cur; j++){if (a[j] == i){ok = 0;}} // 保证排列中没有重复的元素 if (ok){a[cur] = i; //存到数组里面 Print_permutation(a, cur + 1); //递归求解 }}}int main(){while (scanf("%d", &n) != EOF){Print_permutation(a, 0);}system("pause");return 0;}


原创粉丝点击