代码之家  ›  专栏  ›  技术社区  ›  peterchen

将名称与数字正确排序

  •  3
  • peterchen  · 技术社区  · 15 年前

    1 Hamlet
    2 Ophelia
    ...
    10 Laertes
    

    而不是

    1 Hamlet
    10 Laertes
    2 Ophelia
    ...
    

    有人知道一个已经支持这个的比较函子吗?
    (即,可以传递给 std::sort )

    Dolly
    Dolly (2)
    Dolly (3)
    

    (我想我可以解决这个问题:按字符进行比较,并以不同的方式对待数值。然而,这可能会破坏unicode拼贴等等)

    2 回复  |  直到 15 年前
        1
  •  5
  •   Nick Dandoulakis    15 年前


    查看此链接: The Alphanum Algorithm

        2
  •  0
  •   user855    15 年前

    我想你可以使用pair对象,然后生成vector>然后对这个向量进行排序。