c++ - std::sort 在 std::vector<std::string> 上

标签 c++ sorting

我有一个 std::vector<std::string>其中将包含数字和字符(单个字符)。我希望首先对数字进行排序,然后对字符进行排序...所以我有一个困惑的字符串 vector 作为输入,排序后我希望它像 1,2,3,5,7,9,10,A, B、C、D。 但我想 sort 也会比较输入的大小,因此如果我的 vector 有不同长度的数字,我会得到错误的输出。例如,执行 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 .

我该如何纠正我的错误以及我遗漏了什么?

谢谢你,
萨彦

最佳答案

编写一个非字典顺序的比较例程并将其与迭代器一起传递给 std::sort。

关于c++ - std::sort 在 std::vector<std::string> 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401385/

相关文章:

c++ - CMonthCalCtrl日历页脚文本(今天的日期)

c++ - C++中关键字new的解释

c - 你如何根据 C 中的多个字段对数组进行排序?

C++ 打印函数的结果?

c++ - 线程间的信号

c# - 解释我从 OrderBy 的性能测试中得到的以下结果

jquery - Datatables 1.10 - TD 中的 HTML5 "data-order"attr 无效

jQuery:根据 ID 对 Div 进行排序,基于 ID 列表

c++ - 如何将 tr1/array 转换为 std::string?

javascript - 使用 JQuery 排序插入