例如有一产品结构
A下有两个子部件A1和A2,A1下面有A11和A12,A2下面有A21和A22
现在我想用代码取得如下结构(A 是第1层 )
编号 部件名称 层次
A A1 2
A A2 2
A1 A11 3
A1 A12 3
A2 A21 3
A2 A22 3
我可以递归取到一个父部件下所有的子部件,要分层取
如果通过递归来实现,结果是:
A A1
A1 A11
A1 A12
A A2
A2 A21
A2 A22
是按树状输出的。
而你是要按象你以上列出的输出是吗?
如果是这样,我觉得也不难。
也相当于递归,只不过把原来的深度搜索改为广度搜索,请参考以下的思路:
1)根据顶级部件(层级1)获取其所有一级子件(层级2),输出这些一级子件的同时把这些一级子件放在一个Vector中;
2)循环获取Vector中的每个零件(层级2),如果没有子件,如果有子件,则输出的同时,把子件(层级3)都放在另一个Vector中;
3)以此类推,继续输出层级3的子件(层级4)并把他们放在新的Vector中;
可以用两个Vector轮流切换使用,使用前先清空即可。
直到Vector中为空递归即结束。
从根节点开始逐层递归,把每次递归的的子部件放到一个Vector中,并设置一变量,每递归一次便加1,
可以达到效果
分享到:
相关推荐
首先,BOM作为产品结构表,它呈现了产品从原材料到最终成品的层次结构,也就是产品结构树。通过这个树状结构,可以清晰地看到每个组件的层级关系,例如,一把椅子可能由座垫、扶手、轮子等多个部件组成,这些部件又...
根据给定文件的信息,我们可以总结出以下相关的...综上所述,这段代码实现了一个基于6位层次编码的逐层即需加载的树形结构,能够有效地处理大量的层级数据,同时通过合理的SQL查询语句设计和优化策略提高了系统的性能。
数据结构课程设计中,图的层次遍历是一个重要的学习主题,尤其对于计算机科学和技术专业的学生而言,这是理解和掌握数据组织及算法分析的关键步骤。图是一种非线性数据结构,由顶点(或节点)和边构成,用于表示对象...
通过以上步骤,我们可以按照二叉树的层次结构顺序访问每一个节点,从而完成层序遍历。下面的示例代码展示了如何构建一个简单的完全二叉树,并对其执行层序遍历: ```cpp #include #include using namespace std; ...
这个设计方法考虑了多个因素,包括材料的选择、结构层次的配置以及施工工艺,以确保路面在承受各种交通荷载和环境影响下仍能保持良好的性能。 首先,这种设计方法的核心是结构层的分层设计。沥青路面通常由多个结构...
在C/C++编程领域,数据结构与算法是两个至关重要的概念。数据结构是组织和存储数据的方式,而算法则是解决问题的步骤或计算过程。这里提到的"数据结构算法实现"压缩包,显然包含了使用C++语言实现的各种常见数据结构...
在通信系统的层次结构中,邮政通信系统可以作为一个很好的参考模型,以便理解计算机网络通信和网络体系结构的概念。邮政通信系统的层次结构可以分为邮局服务业务、邮局转送业务、运输部门的邮件运输业务、邮局服务...
本文将介绍如何使用 Matlab 语言编写一个逐层搜索程序,以 searches_str 字符串在 cell_array 数组中出现的位置。 逐层搜索的需求分析 在实际应用中,我们经常需要在复杂的数据结构中搜索指定的元素,如字符串、...
ConvNets是一类生物启发的多阶段架构,能够自动地从数据中学习特征层次结构。ConvNets的强大之处在于其能够从数据中逐层学习到有用的特征表示,而不需要人为地设计特征。ConvNets的成功已经在许多领域得到了证实,...
影像处理在计算机视觉领域中占有重要地位,而“金字塔生成以及利用生成影像进行逐层匹配”是其中一种关键的技术。本文将深入探讨这个主题,并基于VC++编程环境进行阐述。 首先,我们要理解“影像金字塔”(Image ...
递归遍历层次结构数据是一种常见需求,例如在组织架构、产品分类、BBS论坛等场景中,数据项之间存在明显的父子关系。在SQL Server中,递归遍历可以通过存储过程配合游标实现,但这种方法在实际应用中可能会遇到一些...
工艺工程师师从产品工艺路线的角度观察产品结构,在他的产品结构视图中存在一些装配过渡件,反映了零部件的逐层组装、加工顺序,称为PBOM; 制造工程师则注重产品的生产批次计划,物料的阶梯用量,替代料的策略,...
5. **层次总排序**:通过逐层计算权重,将下一层的权重与上一层的权重相乘,得到最终的方案权重,从而决定最优方案。 C++实现AHP时,关键在于设计数据结构来表示层次结构,以及实现计算判断矩阵权重和一致性检验的...
在这个项目"基于scrapy的层次优先队列方法爬取中文维基百科,并自动抽取结构和半结构数据.zip"中,我们可以深入探讨如何利用数据结构——特别是层次优先队列(Priority Queue)来有效地爬取网页并处理数据。...
层次结构强调逐层服务和抽象,支持功能增强和重用,但可能不适合所有系统,且可能导致性能问题。基于消息的层次系统,如B/S、二层C/S和三层C/S体系结构,各有优缺点。二层C/S简化了系统结构,但可能处理能力有限。三...
工作分解结构(WBS)是对武器装备项目在研制和生产过程中所应完成的各项工作自上而下和逐级分解所形成的一个层次体系。WBS的层次体系以要研制和生产的产品为中心,由产品(硬件和软件)、项目、服务项目和资料项目...
LSMW(Legacy System Migration Workbench)是SAP系统中用于数据迁移的一个强大工具,它能够帮助用户将外部数据高效地导入到SAP系统中的多层次结构数据。在文档"多层次结构数据LSMW导入.doc"中,主要讨论了如何利用...
队列是一种先进先出的数据结构,非常适合进行层次遍历。算法的步骤如下: 1. 初始化:将根结点入队列。 2. while(队列非空): a. 队首元素出队列。 b. 原队首元素对应的左、右孩子(非空)入队列。 3. 按出队列...
包容结构是依据行为能力划分成在功能上逐层迭加的层次结构,每个层次都根据自身的目标处理相应的信息,并给出相应的控制命令。该结构是一种BOTTOM-UP的构建方法,它用行为封装了机器人控制中应具备的感知、探索、...
层次聚类是社区划分算法中的一种方法,它通过逐步合并或分裂数据集中的节点或子集来构建层次结构,最终形成社区结构。该算法的核心思想是从全局中心节点出发建立初始社区,然后根据节点间的联系紧密度,逐层扩展社区...