【发布时间】:2013-05-09 02:51:45
【问题描述】:
对于独立于平台的模型层,我的分层数据(实际上是字符串)如下所示:
- 项目 A
- 子项 A
- 子项 B
- 子项 C
- 子子项 A
- 子子项 B
- 子项 D
- B 项
- C 项
现在,在每个“级别”(Item、SubItem、SubSubItem 等)内,项目需要按字母顺序排序。
似乎一个简单的解决方案是创建一个简单的类,该类具有排序的 std::Vector 或 std::MultiMap 以跟踪其子项,以及指向其父项的指针。 (和一个根项目)。我通常需要向前迭代每个项目的子项。
构建/排序后,我不需要添加或删除项目。通常是少量项目(数百个)。
这是用于大纲样式控件的支持数据的模型组织。
滚动一个简单的类很容易,但这是一种很常见的模式——不是已经有一个现成的具有这种行为的 STL 容器了吗?
【问题讨论】:
标签: c++ sorting stl containers