对于项目名称的排序,我想正确支持数字。即:
1 Hamlet
2 Ophelia
...
10 Laertes
而不是
1 Hamlet
10 Laertes
2 Ophelia
...
是否有人知道已经支持的比较仿函数?
(即可传递给std::sort
的谓词)
我基本上有两种模式可供支持:前导数字(如上所述)和最后数字,类似于资源管理器:
Dolly
Dolly (2)
Dolly (3)
(我想我可以解决这个问题:按字符进行比较,并以不同的方式处理数值。但是,这可能会打破unicode collaiton等等)
答案 0 :(得分:5)
这就是所谓的字母数字排序 查看此链接:The Alphanum Algorithm
答案 1 :(得分:0)
我想你可以使用一个对象,然后制作矢量>然后对此向量进行排序。 根据第一个元素比较对。所以,这样你就可以得到你想要的那种。