回溯實(shí)現(xiàn)全排列
給定一組數(shù)装获,如:1,2,3。編程實(shí)現(xiàn)全排列形式:123,132,213,231,312,321
#include<stdio.h>
#define n 3
int a[n]={1,2,3}; //為作業(yè)編一個(gè)號穴豫,便于后期的全排列
void traceback(int t){
if(t==n){
for(int i=0;i<n;i++){
printf("%d",a[i]);
}
putchar('\n');
return;
}
for(int i=t;i<n;i++){
int temp=a[t];
a[t]=a[i];
a[i]=temp;
traceback(t+1);
temp=a[t];
a[t]=a[i];
a[i]=temp;
}
}
int main(){
traceback(0);
return 0;
}
運(yùn)行截圖