例如有一产品结构
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查询语句设计和优化策略提高了系统的性能。
数据结构课程设计中,图的层次遍历是一个重要的学习主题,尤其对于计算机科学和技术专业的学生而言,这是理解和掌握数据组织及算法分析的关键步骤。图是一种非线性数据结构,由顶点(或节点)和边构成,用于表示对象...
层序遍历通常使用队列数据结构来实现,以确保按层次顺序访问节点。// 构建一个完全二叉树 TreeNode* root = new TreeNode(1); root->left = new TreeNode(2); root->right = new TreeNode(3); root->left->left = ...
这个设计方法考虑了多个因素,包括材料的选择、结构层次的配置以及施工工艺,以确保路面在承受各种交通荷载和环境影响下仍能保持良好的性能。 首先,这种设计方法的核心是结构层的分层设计。沥青路面通常由多个结构...
在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简化了系统结构,但可能处理能力有限。三...
LSMW(Legacy System Migration Workbench)是SAP系统中用于数据迁移的一个强大工具,它能够帮助用户将外部数据高效地导入到SAP系统中的多层次结构数据。在文档"多层次结构数据LSMW导入.doc"中,主要讨论了如何利用...
队列是一种先进先出的数据结构,非常适合进行层次遍历。算法的步骤如下: 1. 初始化:将根结点入队列。 2. while(队列非空): a. 队首元素出队列。 b. 原队首元素对应的左、右孩子(非空)入队列。 3. 按出队列...
包容结构是依据行为能力划分成在功能上逐层迭加的层次结构,每个层次都根据自身的目标处理相应的信息,并给出相应的控制命令。该结构是一种BOTTOM-UP的构建方法,它用行为封装了机器人控制中应具备的感知、探索、...
层次聚类是社区划分算法中的一种方法,它通过逐步合并或分裂数据集中的节点或子集来构建层次结构,最终形成社区结构。该算法的核心思想是从全局中心节点出发建立初始社区,然后根据节点间的联系紧密度,逐层扩展社区...
图数据结构是计算机科学中的一种重要数据组织方式,它用于表示对象之间的关系或连接。在图结构中,每个元素称为顶点(Vertex)或节点,而顶点之间的连接被称为边(Edge)。图可以分为有向图(Directed Graph)和无向...