图的dfs(c++)
dfs
1全排列
#include <iostream>
#include <string>
using namespace std;
char cuncu[100] = { 0 };
int visit[100] = { 0 };
void dfs(string a, int num, int n)
{
if (num == n)
{
for (int i = 0; i < num; i++)
{
cout << cuncu[i];
}
cout << endl;
return;
}
for (int i = 0; i < n; i++)
{
if (visit[i] == 0)
{
visit[i] = 1;
cuncu[num] = a[i];
dfs(a, num + 1, n);
visit[i] = 0;
}
}
return;
}
int main()
{
string res;
cin >> res;
int N = res.size();
//cin >> N;
//int* a = new int[N];
//for (int i = 0; i < N; i++)
//{
// a[i] = i + 1;
//}
dfs(res, 0, N);
system("pause");
return 0;
}