全排列--dfs

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36328915/article/details/85303366
#include<iostream>
#include<cmath>
using namespace std;
 
int p[10]={0};
bool vis[10]={0};
int n;
void dfs(int x)
{
	if (x==n+1)
	{
		for(int i=1;i<=n;i++)
		cout<<p[i]<<" ";
		cout<<endl;
		return ;
	}
	
	for (int i=1;i<=n;i++)
	{
		if (vis[i]==false  )
		{
			p[x] = i;
			vis[i] = true;
			
			dfs(x+1);
			vis[i] = false;
		}
	}
}
 
int main()
{
	n=4;
	dfs(1);
	return 0;
}
 
 
 

猜你喜欢

转载自blog.csdn.net/qq_36328915/article/details/85303366
今日推荐