问题:
编写一个输出1,2,3...n,n个数字所组成的所有排列
算法思想:
1、定义数组存储一个数字每位上的值arr[],i从1开始,表示数字的第i位;
2、当i位的值arr[i]大于n时,则arr[i]=0(保证回溯时第i位是从0开始的),且返回到(i-1)位------回溯,再前进;
3、当数字位数<n时,则继续向下搜索, i++; arr[i]=0;
4、数字位数i==n时,输出该数字;
5、直到回溯到i==0位时结束。
编写一个输出1,2,3...n,n个数字所组成的所有排列
1、定义数组存储一个数字每位上的值arr[],i从1开始,表示数字的第i位;
2、当i位的值arr[i]大于n时,则arr[i]=0(保证回溯时第i位是从0开始的),且返回到(i-1)位------回溯,再前进;
3、当数字位数<n时,则继续向下搜索, i++; arr[i]=0;
4、数字位数i==n时,输出该数字;
5、直到回溯到i==0位时结束。