【发布时间】:2009-09-21 09:59:11
【问题描述】:
对于排序项目名称,我想正确支持数字。即这个:
1 Hamlet
2 Ophelia
...
10 Laertes
而不是
1 Hamlet
10 Laertes
2 Ophelia
...
有人知道已经支持该功能的比较函子吗?
(即可以传递给std::sort的谓词)
我基本上支持两种模式:前导数字(如上)和末尾数字,类似于资源管理器:
Dolly
Dolly (2)
Dolly (3)
(我想我可以解决这个问题:按字符进行比较,并以不同的方式处理数值。但是,这可能会破坏 unicode collaiton 之类的)
【问题讨论】:
-
std::sort对 Unicode 一无所知,因此您不会破坏它。这是谓词需要正确处理它。您可能不应该按字符分解它,而是将字符串标记化,然后对标记进行排序。 -
我没有计划破坏 std::sort :) 比较/整理段的好主意。
标签: c++ sorting predicate string-comparison