#include<stdio.h>
void print(int arr[],int cnt)
{
int i;
for (i=0;i<cnt ;i++) {
printf("%d,",arr[i]);
}
printf("\n");
}
void swap(int *a,int *b)
{
int temp;
temp = *a;
*a=*b;
*b=temp;
}
void quanpailie(int arr[],int k,int cnt)
{
if (k== cnt-1) {
print(arr,cnt);
} else {
int i;
for ( i=k;i< cnt;i++) {
swap(&arr[k],&arr[i]);
quanpailie(arr,k+1,cnt);
swap(&arr[k],&arr[i]);
}
}
}
void main()
{
int num[4]={1,2,3,4};
print(num,4);
quanpailie(num,0,4);
}
void print(int arr[],int cnt)
{
int i;
for (i=0;i<cnt ;i++) {
printf("%d,",arr[i]);
}
printf("\n");
}
void swap(int *a,int *b)
{
int temp;
temp = *a;
*a=*b;
*b=temp;
}
void quanpailie(int arr[],int k,int cnt)
{
if (k== cnt-1) {
print(arr,cnt);
} else {
int i;
for ( i=k;i< cnt;i++) {
swap(&arr[k],&arr[i]);
quanpailie(arr,k+1,cnt);
swap(&arr[k],&arr[i]);
}
}
}
void main()
{
int num[4]={1,2,3,4};
print(num,4);
quanpailie(num,0,4);
}