如何在 C++ 中实现自然排序算法?

2021-12-10 00:00:00 sorting c++ natural-sort

我正在对由文本和数字组成的字符串进行排序.我希望排序将数字部分排序为数字,而不是字母数字.

I'm sorting strings that are comprised of text and numbers. I want the sort to sort the number parts as numbers, not alphanumeric.

例如我想要:abc1def, ..., abc9def, abc10def

For example I want: abc1def, ..., abc9def, abc10def

代替:abc10def, abc1def, ..., abc9def

instead of: abc10def, abc1def, ..., abc9def

有谁知道这方面的算法(特别是在 C++ 中)

Does anyone know an algorithm for this (in particular in c++)

谢谢

推荐答案

我问了 这个确切的问题(尽管在 Java 中) 并指向 http://www.davekoelle.com/alphanum.html,其中有一个算法及其多种语言的实现.

I asked this exact question (although in Java) and got pointed to http://www.davekoelle.com/alphanum.html which has an algorithm and implementations of it in many languages.

相关文章