`

逐层取得一产品结构下的部件名/编号/层次号

阅读更多

例如有一产品结构

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,

可以达到效果

分享到:
评论

相关推荐

    产品结构子系统培训课程.pptx

    首先,BOM作为产品结构表,它呈现了产品从原材料到最终成品的层次结构,也就是产品结构树。通过这个树状结构,可以清晰地看到每个组件的层级关系,例如,一把椅子可能由座垫、扶手、轮子等多个部件组成,这些部件又...

    6位层次编码逐层即需加载TreeView

    根据给定文件的信息,我们可以总结出以下相关的...综上所述,这段代码实现了一个基于6位层次编码的逐层即需加载的树形结构,能够有效地处理大量的层级数据,同时通过合理的SQL查询语句设计和优化策略提高了系统的性能。

    数据结构课程设计(图的层次遍历)

    数据结构课程设计中,图的层次遍历是一个重要的学习主题,尤其对于计算机科学和技术专业的学生而言,这是理解和掌握数据组织及算法分析的关键步骤。图是一种非线性数据结构,由顶点(或节点)和边构成,用于表示对象...

    完全二叉树的层序遍历.docx 完全二叉树的层序遍历是通过逐层访问树节点的一种遍历方式 层序遍历通常使用队列数据结构来实现

    层序遍历通常使用队列数据结构来实现,以确保按层次顺序访问节点。// 构建一个完全二叉树 TreeNode* root = new TreeNode(1); root->left = new TreeNode(2); root->right = new TreeNode(3); root->left->left = ...

    行业分类-设备装置-一种结构层寿命逐层递增的耐久性沥青路面设计方法.zip

    这个设计方法考虑了多个因素,包括材料的选择、结构层次的配置以及施工工艺,以确保路面在承受各种交通荷载和环境影响下仍能保持良好的性能。 首先,这种设计方法的核心是结构层的分层设计。沥青路面通常由多个结构...

    c/c++ 数据结构算法实现

    在C/C++编程领域,数据结构与算法是两个至关重要的概念。数据结构是组织和存储数据的方式,而算法则是解决问题的步骤或计算过程。这里提到的"数据结构算法实现"压缩包,显然包含了使用C++语言实现的各种常见数据结构...

    计算机网络基础教程-第3章-网络体系结构与协议.pptx

    在通信系统的层次结构中,邮政通信系统可以作为一个很好的参考模型,以便理解计算机网络通信和网络体系结构的概念。邮政通信系统的层次结构可以分为邮局服务业务、邮局转送业务、运输部门的邮件运输业务、邮局服务...

    matlab语言写一个逐层搜索程序

    本文将介绍如何使用 Matlab 语言编写一个逐层搜索程序,以 searches_str 字符串在 cell_array 数组中出现的位置。 逐层搜索的需求分析 在实际应用中,我们经常需要在复杂的数据结构中搜索指定的元素,如字符串、...

    一种识别交通标志的多层次化神经网络结构

    ConvNets是一类生物启发的多阶段架构,能够自动地从数据中学习特征层次结构。ConvNets的强大之处在于其能够从数据中逐层学习到有用的特征表示,而不需要人为地设计特征。ConvNets的成功已经在许多领域得到了证实,...

    金字塔生成以及利用生成影像进行逐层匹配VC++.rar_影像匹配_影像金字塔_逐层匹配_金字塔 匹配

    影像处理在计算机视觉领域中占有重要地位,而“金字塔生成以及利用生成影像进行逐层匹配”是其中一种关键的技术。本文将深入探讨这个主题,并基于VC++编程环境进行阐述。 首先,我们要理解“影像金字塔”(Image ...

    使用SQL Server存储过程递归遍历层次结构.pdf

    递归遍历层次结构数据是一种常见需求,例如在组织架构、产品分类、BBS论坛等场景中,数据项之间存在明显的父子关系。在SQL Server中,递归遍历可以通过存储过程配合游标实现,但这种方法在实际应用中可能会遇到一些...

    金蝶云星空+V7.2_产品培训_PLM领域_设计BOM管理

    工艺工程师师从产品工艺路线的角度观察产品结构,在他的产品结构视图中存在一些装配过渡件,反映了零部件的逐层组装、加工顺序,称为PBOM; 制造工程师则注重产品的生产批次计划,物料的阶梯用量,替代料的策略,...

    层次分析法的C++简单代码

    5. **层次总排序**:通过逐层计算权重,将下一层的权重与上一层的权重相乘,得到最终的方案权重,从而决定最优方案。 C++实现AHP时,关键在于设计数据结构来表示层次结构,以及实现计算判断矩阵权重和一致性检验的...

    基于scrapy的层次优先队列方法爬取中文维基百科,并自动抽取结构和半结构数据.zip

    在这个项目"基于scrapy的层次优先队列方法爬取中文维基百科,并自动抽取结构和半结构数据.zip"中,我们可以深入探讨如何利用数据结构——特别是层次优先队列(Priority Queue)来有效地爬取网页并处理数据。...

    软件体系结构课后作业及答案1

    层次结构强调逐层服务和抽象,支持功能增强和重用,但可能不适合所有系统,且可能导致性能问题。基于消息的层次系统,如B/S、二层C/S和三层C/S体系结构,各有优缺点。二层C/S简化了系统结构,但可能处理能力有限。三...

    多层次结构数据LSMW导入.doc

    LSMW(Legacy System Migration Workbench)是SAP系统中用于数据迁移的一个强大工具,它能够帮助用户将外部数据高效地导入到SAP系统中的多层次结构数据。在文档"多层次结构数据LSMW导入.doc"中,主要讨论了如何利用...

    按层次遍历二叉树的算法

    队列是一种先进先出的数据结构,非常适合进行层次遍历。算法的步骤如下: 1. 初始化:将根结点入队列。 2. while(队列非空): a. 队首元素出队列。 b. 原队首元素对应的左、右孩子(非空)入队列。 3. 按出队列...

    工业机器人的体系结构.pdf

    包容结构是依据行为能力划分成在功能上逐层迭加的层次结构,每个层次都根据自身的目标处理相应的信息,并给出相应的控制命令。该结构是一种BOTTOM-UP的构建方法,它用行为封装了机器人控制中应具备的感知、探索、...

    论文研究-一种基于层次聚类的复杂网络社区划分算法 .pdf

    层次聚类是社区划分算法中的一种方法,它通过逐步合并或分裂数据集中的节点或子集来构建层次结构,最终形成社区结构。该算法的核心思想是从全局中心节点出发建立初始社区,然后根据节点间的联系紧密度,逐层扩展社区...

    图数据结构-图结构的描述

    图数据结构是计算机科学中的一种重要数据组织方式,它用于表示对象之间的关系或连接。在图结构中,每个元素称为顶点(Vertex)或节点,而顶点之间的连接被称为边(Edge)。图可以分为有向图(Directed Graph)和无向...

Global site tag (gtag.js) - Google Analytics