文章目录
把数组排成最小的数
添加链接描述
任何一个元素y,和它前的任何一个元素x进行有序组合形成 xy,比和他后面的任何一个元素z进行有效序列组合yz,满足条件xy < yz(字典序列排序) //如{32,31},结果{31, 32}
static bool cmp(int x, int y){ //x,y构成的序列中,小的放在前面
string xs = to_string(x); int转string字符串
string ys = to_string(y);
string A = xs; A += ys;
string B = ys; B += xs;
return A < B;
}
string PrintMinNumber(vector<int> numbers)
{ sort(numbers.begin(), numbers.end(), cmp);
string result = "";
for(unsigned int i = 0;i < numbers.size(); i++)
{ result += to_string(numbers[i]); }
return result;
}
void sort(RandomAccessIterator first,RandomAccessIterator last,Compare comp)