43 lines
723 B
C
43 lines
723 B
C
|
|
#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);
|
|
}
|