C/C++教程

C++全排列数字

本文主要是介绍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;
} 

在这里插入图片描述

这篇关于C++全排列数字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!