全排列递归算法
2020-12-13 16:22
标签:pre ref 代码 class div 输出 枚举 void ret 转自:https://blog.csdn.net/xiazdong/article/details/7986015 全排列递归算法 标签:pre ref 代码 class div 输出 枚举 void ret 原文地址:https://www.cnblogs.com/Theo-sblogs/p/11619277.htmlvoid perm(int arr[], int begin,int end) {
if(end==begin)
{ //一到递归的出口就输出数组,此数组为全排列
for(int i=0;i {
printf("%d",arr[i]);
}
printf("\n");
return;
}else
{
for(int j=begin;j {
swap(begin,j); //for循环将begin~end中的每个数放到begin位置中去 交换两个数
perm(arr,begin+1,end); //假设begin位置确定,那么对begin+1~end中的数继续递归
swap(begin,j); //换过去后再还原
}
}
}