您的位置:首页 > 职场人生

剑指offer 面试题33 数组组合的最小数

2014-12-27 15:04 543 查看
#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));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: