关于此程序的递归模式的疑问
全排列,用递归实现。想问下在一次排列结束之后(达到递归边界后,这个程序是怎样开始下一次排列的)
#include<iostream>
using namespace std;
int fun1(int n,int* A,int cur){
if(cur==n){
for(int i=0;i<n;i++) cout<< A[i];
}else{
for(int i=0;i<n;i++){
int ok=1;
for(int j=0;j<cur;j++){
if(A[j]==i+1){
ok=0;
}
}
if(ok){
A[cur]=i+1;
fun1(n,A,cur+1);
}
}
}
}
int A[500]={0};
int main(){
int n;
cin>>n;
fun1(n,A,0);
}