#include <stdio.h>
#include <stdlib.h>
#include <cstring>
//#include <algorithm>
int compare(const void *num1,const void *num2){
char comb1[21],comb2[21];
strcpy(comb1,*(const char**)num1);
strcat(comb1,*(const char**)num2);
strcpy(comb2,*(const char**)num2);
strcat(comb2,*(const char**)num1);
return strcmp(comb1,comb2);
}
void MinNum(int *num,int len){
if(!num || len<=0)
return;
//char **pNum=(char**)(new int [len]);
char **pNum=new char *[len];
for(int i=0;i<len;++i){
pNum[i]=new char[11];
sprintf(pNum[i],"%d",num[i]);
}
qsort(pNum,len,sizeof(char*),compare);
for(int i=0;i<len;++i)
printf("%s",pNum[i]);
printf("\n");
for(int i=0;i<len;++i){
delete []pNum[i];
}
delete pNum;
}
int main(){
int num[]={3,32,321};
MinNum(num,sizeof(num)/sizeof(*num));
}