
#include"stdio.h"
#include"stdlib.h"
int bijiao(const void* a, const void*b){
	return (*(int*)a-*(int*)b);
}
int used[100];
void dayi(int *arr,int n){
	for(int i=0;i<n;i++){
		printf("%d",arr[i]);
	}
	printf("\n");
}
void pailie(int *arr,int start,int end){
	if(start==end){
		dayi(arr,end+1);
	}
	else{
		for(int i=start;i<=end;i++){
			if(!used[i]){
				used[i]=1;
				int t=arr[start];
				arr[start]=arr[i];
				arr[i]=t;
				pailie(arr,start+1,end);
				t=arr[start];
				arr[start]=arr[i];
				arr[i]=t;
				used[i]=0;
			}
		}
	}
}
int main(){
	int arr[]={1,2,3,4,3,6};
	int size=sizeof(arr)/sizeof(arr[0]);
    qsort(arr,size,sizeof(int),bijiao);
	for(int i=0;i<size;i++){
		used[i]=0;
	}
	pailie(arr,0,size-1);
}
