1 /*************************************************************************
2 > File Name: 31_SortArrayMin.cpp
3 > Author: Juntaran
4 > Mail: JuntaranMail@gmail.com
5 > Created Time: 2016年09月02日 星期五 11时10分42秒
6 ************************************************************************/
7
8 #include <stdio.h>
9 #include <string>
10 #include <bits/stdc++.h>
11
12 using namespace std;
13
14 string itos(int x)
15 {
16 return (x>9 ? itos(x/10) : "") + char(x%10 + '0');
17 }
18
19 // qsort比较函数
20 int cmp(const void *a, const void *b)
21 {
22 return *(int*)a - *(int*)b;
23 }
24
25 // sort比较函数
26 bool compare(int a, int b)
27 {
28 return (itos(a) + itos(b)) < (itos(b) + itos(a));
29 }
30
31 string PrintMinNumber(int* nums, int length)
32 {
33 string s = "";
34 if (nums==NULL || length<=0)
35 return s;
36 // sort(nums, nums+length, compare);
37 qsort(nums, length, sizeof(int), cmp);
38
39 for (int i = 0; i < length; ++i)
40 s += itos(nums[i]);
41 cout << s << endl;
42 return s;
43 }
44
45 int main()
46 {
47 int nums[] = {3, 32, 321};
48 int length = 3;
49 PrintMinNumber(nums, length);
50
51 return 0;
52 }