【发布时间】:2017-04-17 00:20:56
【问题描述】:
我的问题很简单,但我想不出一个优雅的解决方案。
在我的应用程序中,从用户输入中收集了一堆相对路径(它们实际上并不存在于文件系统中)。
举个例子:
- somefile.ext
- z/file.ext
- A/B/file2.ext
- A/B/z/file.ext
- file1.ext
- A/B/file.ext
这些被收集在一个 QList 中(其中包含指向具有作为 QString 成员的路径的类的实例的指针),但容器对我来说并不重要。
期望的结果是使列表以有序的形式出现,目录覆盖文件(正如我们在大多数文件管理器中使用的那样),基本上就像你会创建一个真正的文件系统一样。
- A/B/z/file.ext
- A/B/file.ext
- A/B/file2.ext
- z/file.ext
- 文件.ext
- somefile.ext
显然,基于普通字符串的排序是行不通的,但是对这样的列表进行排序的最优雅/最简单的方法是什么?
【问题讨论】: