我有std::vector<std::string>
,其中包含数字和字符(单个字符)。我想先将数字排序后跟字符...所以我有一个混乱的字符串向量作为输入,排序后我希望它像1,2,3,5,7,9,10,A, B,C,d。
但我想排序也会比较输入的大小,因此如果我的向量有不同长度的数字,我输出错误。例如,在std::sort (vec.begin(),vec.end())
上执行9,4,5,2,10,11,A,D,B,E,C
会返回10,11,2,4,5,9,A,B,C,D,E
。
如何纠正我的错误以及我错过了什么?
谢谢你,
萨扬
答案 0 :(得分:1)
编写一个非字典的比较例程,并将它与迭代器一起传递给std :: sort。