<!-- lang: cpp --> 在此輸入代碼 int n=0; //組合數目 void swapi(int *a,int *b){ //交換函數 int m=0; m=*a; *a=*b; *b=m; }
<!-- lang: cpp --> void perm(int list[],int k,int m){ int i=0; if(k>m){ for(;i<=m;i++){ printf("%d",list[i]); } printf("\n"); n++; }else{ for(i=k;i<=m;i++){ swapi(&list[k],&list[i]); perm(list,k+1,m); swapi(&list[k],&list[i]); } } }