C语言:有1,2,2,3,4,5六个数,全排列,4不能放在第三位,3和5不相邻。因为...答://如果你的代码其它地方没有错误的话就是这样了:include<stdio.h> int n=1;int swap(int*a,int*b) //如果相等不交换且返回0,否则进行交换且返回1 { if(*a==*b)return 0;else { int temp;temp=*a;a=*b;b=temp;return 1;} } void perm(int List[],int k,int m){ int i...
递归全排列 c语言 看不懂答:perm(list,i,j)是一个全排列函数,拿你上面的列子来说:perm(list,0,5)意思是数组list的前6个数(第0个数到第5个数)的所有排列,它细分的话就等于:第0个数和第1个数互换以后的perm(list,1,5) 第0数和第2数互换perm(list,1,5) ...第0数和第5数互换的perm(list,1,5) 和它本...