gpt4 book ai didi

c++ - 这个分层模型数据有STL容器吗?

转载 作者:可可西里 更新时间:2023-11-01 18:28:27 25 4
gpt4 key购买 nike

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

  • 项目 A
    • 子项目A
    • 子项目B
    • 子项目 C
      • 子子项目A
      • 子子项目 B
    • 子项目D
  • B 项
  • 项目 C

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

似乎一个简单的解决方案是创建一个简单的类,其中包含一个已排序的 std::Vector 或 std::MultiMap 以跟踪其子级,以及一个指向其父级的指针。 (和一个根项目)。我通常需要向前遍历每个项目的子项。

构建/排序后,我不需要添加或删除项目。通常只有少量项目(数百个)。

这用于大纲样式控件的支持数据的模型组织。

滚动一个简单的类会很容易,但这是一个很常见的模式——难道没有现成的具有这种行为的 STL 容器吗?

最佳答案

STL 本身没有任何内容,但您可能会发现它很有用:

tree.hh: an STL-like C++ tree class

它的 API 完全遵循 STL 容器,它应该可以满足您的需求。

我相信their example事实上,这正是您要问的(一棵带字符串的树)。

关于c++ - 这个分层模型数据有STL容器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16453564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com