这个分层模型数据是否有一个stl容器?

SMG*_*eld 7 c++ sorting containers stl

对于独立于平台的模型层,我有分层数据(实际上是字符串),如下所示:

  • 项目A.
    • 子项目A.
    • 子项目B.
    • SubItem C.
      • SubSubItem A.
      • SubSubItem B.
    • SubItem D.
  • 项目B.
  • 项目C.

现在,在每个"级别"(Item,SubItem,SubSubItem等)中,项目需要按字母顺序排序.

似乎一个简单的解决方案是创建一个带有排序的std :: Vector或std :: MultiMap的简单类来跟踪它的Children,以及指向它的Parent的指针.(和一个根项目).我需要一般地向前遍历每个项目的孩子.

构建/排序后,我不需要添加或删除项目.通常少量的物品(数百).

这是用于轮廓样式控件的后备数据的模型组织.

滚动一个简单的类很容易,但这是一个常见的模式 - 是不是已经有一个现成的STL容器有这种行为?

Cor*_*rey 5

STL本身没什么,但你可能会觉得这很有用:

tree.hh:类似STL的C++树类

它的API完全遵循STL容器,它应该做你想要的.

事实上,我相信他们的例子正是你所要求的(带有字符串的树).