用递归方法建树c语言,递归算法实现建树原理

递归算法实现建树原理

private void CreateTree(TreeNodeCollection treeNodeCollection, int parent)

{

DataSet dscontent = new DataSet();

oleDbDataAdapter1.SelectCommand.CommandText = "select * from content where pid = " + parent;

oleDbDataAdapter1.Fill(dscontent);

foreach (DataRow dr in dscontent.Tables["content"].Rows)

{

TreeNode tno = new TreeNode();

tno.Text = dr["NodeName"].ToString();

tno.Tag = Convert.ToInt32(dr["ID"]);

treeNodeCollection.Add(tno);

CreateTree(tno.Nodes, Convert.ToInt32(dr["ID"]));

}

}

67b0a70febe552c922c54bb8560d6ef6.png

8ca9772c8817db767400a2c68b5c5f0f.png

void path(AdjMaxix adj, int i, int j, int k) //定义一个函数,形参是 adj,i,j,k;

{

int s; //定义变量s;

if (p[k]==j) // 设定循环条件;

{

for (s=0; s<=k; s++)

cout << p[s] << "; ";//依次输出平p[i];

cout << endl; // 输出p[i]后换行;

}

else //如果不符p[k]==j条件,则;

{

s=0;

while (s

{

if (adj.edges[p[k]][s]==1 && visited [s]==0)

{

visited[s]=1;

p[k+1]=s;

path(adj,i,j,k+1);

visited[s]=0;

}

s++;

}

}

}

void dispath(AdjMaxix adj, int i, int j)

{

int k;

p[0]=i;

for (k=0;k

visited[i]=0;

path(adj,i,j,0);

10-04-11

| 添加评论

| 打赏

◆◆

请登录后再发表评论!

◆◆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值