1. 程式人生 > >全排列回溯演算法

全排列回溯演算法

 #include<stdio.h>
int main() {
void pl(int a[],int m,int n);
int a[5] = {1,2,3,4,5};
pl(a,0,2);
}
void pl(int a[],int m,int n) {
int j;
if(m == n) {
for(j=0;j<=n;j++) {
printf("%d ",a[j]);
}
printf("\n");
}
else {
int temp,i;
for(i=m;i<=n;i++) {
temp = a[m],a[m] = a[i];a[i] = temp;
pl(a,m+1,n);
temp = a[m],a[m] = a[i];a[i] = temp;
}
}
}