社区
C#
帖子详情
树的遍历,我想计算由一节点开始到下面6层合格的数据,节点下不合格的由他下节点及格顶上,怎么遍历统计。。在线等待。谢谢大家
amylqt
2007-06-15 02:56:37
树的遍历,我想计算由一节点开始到下面6层合格的数据,节点下不合格的由他下节点及格顶上,怎么遍历统计。。在线等待。谢谢大家!比如说A合格,A是第一层,A的下节点是B、D,B不及格,D及格,B下节点是C。但是B不合格,所以C和D才是第二层,我就是想统计合格的A和D、C还有D、C下面合格的总共10层数据。。
请好心人能帮忙一下。
...全文
216
6
打赏
收藏
树的遍历,我想计算由一节点开始到下面6层合格的数据,节点下不合格的由他下节点及格顶上,怎么遍历统计。。在线等待。谢谢大家
树的遍历,我想计算由一节点开始到下面6层合格的数据,节点下不合格的由他下节点及格顶上,怎么遍历统计。。在线等待。谢谢大家!比如说A合格,A是第一层,A的下节点是B、D,B不及格,D及格,B下节点是C。但是B不合格,所以C和D才是第二层,我就是想统计合格的A和D、C还有D、C下面合格的总共10层数据。。 请好心人能帮忙一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
amylqt
2007-06-15
打赏
举报
回复
我想记录层数啊,如果层数大于6我就不遍历,怎么控制层数。。大家帮忙一下
amylqt
2007-06-15
打赏
举报
回复
不用TreeView1控件啊。不是显示出来啊。我是要统计合格6层数据之和啊。我可以遍历及格,但是我不知道是第几层了
jerryfos
2007-06-15
打赏
举报
回复
///开始方法
private void Start()
{
TreeView1.Nodes.Clear();//清空树
TreeNode tn=new TreeNode();
tn.Text="A";
TreeView1.Nodes.Add(tn);//在树上添加第一个节点A
GetSubNodes(tn,"A");//开始递归A的子节点
}
///递归方法
private string GetSubNodes(TreeNode tn ,string _FatherNode)
{
string sql="select * from table where FatherNode='"+_FatherNode+"'";
DataTable dt=...........//省略把父节点为_FatherNode的节点集合读出部分
foreach(DataRow dr in dt.Rows)
{
string Node=dr["Node"].ToString();
if(dr["是否及格"].ToString()=="是")//如果及格,就把该节点加到树的当前位置上
{
TreeNode temp=new TreeNode();
temp.Text=dr["Node"].ToString();
temp.Value=dr["NodeName"].ToString();
tn.Nodes.Add(temp);
GetSubNodes(temp);
}
else//如果不及格,不在树上添加,直接以当前树为出发点,继续找不及格节点下的子节点
{
GetSubNodes(tn);
}
}
}
没测试过,希望能给楼主带来点思路
amylqt
2007-06-15
打赏
举报
回复
是不是得用广度优先遍历啊。。大家能否帮忙一下。。不是用树性控件。我只是要统计数据,不是要显示出来。明白吗
Jinwmmail
2007-06-15
打赏
举报
回复
int[] iPass=new int[9];
private void Start()
{
CaluNode(this.treeView1.Nodes)
}
private void CaluNode(TreeNode[] tns )
{
foreach (TreeNode tn in (tns))
{
if (tn....合格)
iPass[tn.Level]++;
if (tn.Nodes.Count>0)
CaluNode(tn.Nodes);
}
}
amylqt
2007-06-15
打赏
举报
回复
树的遍历,我想计算由一节点开始到下面6层合格的数据,节点下不合格的由他下节点及格顶上,怎么遍历统计。。在线等待。谢谢大家!比如说A合格,A是第一层,A的下节点是B、D,B不及格,D及格,B下节点是C。但是B不合格,所以C和D才是第二层,我就是想统计合格的A和D、C还有D、C下面合格的总共6层数据。。
请好心人能帮忙一下。
Qt QTreeView使用-QStandardItemModel的使用
代码里面有tree view的
节点
操作,包括添加,当前点击检查,
遍历
等。具体介绍见: Qt
树
形控件QTreeView使用1——
节点
的添加删除操作: http://blog.csdn.net/czyt1988/article/details/18996407 Qt
树
形控件QTreeView使用2——复选框的设置: http://blog.csdn.net/czyt1988/article/details/19171727 利用C++11的function和bind功能,实现QStandardItemModel的通用
遍历
函数: http://blog.csdn.net/czyt1988/article/details/21093451
Android 任意
层
级
树
形控件(无jar版)
代码为博客的实例代码: http://blog.csdn.net/lmj623565791/article/details/40212367 有问题博客留言
Android 任意
层
别
树
形控件
代码为博客的实例代码:http://blog.csdn.net/lmj623565791/article/details/40212367 有问题博客留言
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章