1-全排列非字典序输出
第一层x=0 i=0 顺序是123
递归第二层x=1 i=1 顺序是123
递归第三层x=2 i=2 顺序是123(输出123,return回到第2层)
第二层继续遍历i:x=1,i=2 顺序是132
递归第三层x=2,i=2 顺序是132(输出132,return回到第二层)
第二层遍历完了,还原数组为123,回到第一层
x=0 i=1 顺序是213
递归第二层x=1 i=1 顺序是213
递归第三层x=2 i=2 顺序是213(输出213,return回到第二层)
递归第二层继续遍历i:x=1 i=2 顺序是231
递归第三层x=2 i=2 顺序是231(输出231,return回到第二层)
第二层遍历完了,还原数组为123,回到第一层
x=0 i=2 顺序是321
递归第一层x=1 i=1 顺序是321
递归第二层x=2 i=2 顺序是321
#include<bits/stdc++.h>
using namespace std;
/*
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
*/
void bt(int *a,int x,int n)
{
if(x==n-1)
{
for(int i=0;i<n;i++)
{
cout<<