我正在寻找一种算法,排序字符串类似于文件(和文件夹)在Windows资源管理器中排序的方式.看来,字符串中的数值在排序时会被考虑,这样会导致类似的结果
name 1,name 2,name 10
代替
name 1,name 10,name 2
你可以用一个常规的字符串比较.
我即将开始自己写这篇文章,但是想检查一下有没有人这样做,并且愿意分享一些代码或见解.我将这样做的方法是在比较名称之前将前导零添加到名称中的数字值.这将导致类似的东西
name 00001,name 00010,name 00002
当用常规字符串排序排序时,会给我正确的结果.
有任何想法吗?
它被称为“自然排序顺序”. Jeff曾经有一个
pretty extensive blog entry,它描述了你可能会忽视的困难,并且有几个实现的链接.
原文链接:https://www.f2er.com/windows/371644.html