C++全排列数字

在这里插入图片描述

//Author:PanDaoxi
#include <iostream>
using namespace std;
int a[11],book[11],n;
void dfs(int step){
    
     //深搜函数 
	if(step==n+1){
    
    
		for(int i=1;i<=n;i++){
    
     //注意从1~n
			cout<<a[i];
		}
		cout<<endl;
		return;
	}
	for(int i=1;i<=n;i++){
    
    
		if(book[i]==0){
    
    
			a[step]=i;
			book[i]=1; //使用过了 
			dfs(step+1); 
			book[i]=0; //回溯 
		}
	}
	return; 
}
int main(){
    
    
	cin>>n;
	dfs(1);
	return 0;
} 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/PanDaoxi2020/article/details/121314683