Files
suanfa/public/c/ch2/student/quanpai.c
T
2026-06-15 09:00:38 +08:00

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);
}