欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

整数n的全排列

程序员文章站 2024-03-24 12:33:04
...

第一道用搜索码的、得纪念一下

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string>
#include <algorithm>
using namespace std;

int n;
int visit[10], a[10];

void dfs(int pos) {
	if (pos == n) {			//递归出口 
		for (int i = 0; i<n; i++)
			cout << a[i];
		cout << endl;
		return ;
	}
	
	for (int i = 1; i<=n; i++) {
		if (!visit[i]) {
			visit[i] = 1;		//标记已经访问过 
			a[pos] = i;
			dfs(pos+1);		//搜索下一个数 
			visit[i] = 0;	//回溯 
		}
	}
}


int main() {
	
	while (cin >> n) {
		memset(visit, 0, sizeof(visit));
		dfs(0);
	}
		
	return 0 ;
}