递归和全排列
Posted hrlsm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归和全排列相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h> using namespace std; #define Swap(a,b) {int temp=a;a=b;b=temp;} int data[]={1,2,3,4,5,6,7,8,9,10}; int num=0; int Perm(int begin,int end) { int i; if(begin==end){ num++; } //处理最终情况 ,递归结束 else for(i=begin;i<=end;i++){ Swap(data[begin],data[i]); Perm(begin+1,end); Swap(data[begin],data[i]); } } int main() { Perm(0,9); //求10个数的全排列 cout<<num<<endl; } //竞赛题在一般情况下限时1s,所以对于需要全排列的题目,其元素个数应该少于11个。
以上是关于递归和全排列的主要内容,如果未能解决你的问题,请参考以下文章