請大俠談談遞歸的原理並舉一些實例 請大俠談談遞歸的原理並舉一些實例。因為小弟剛開始學程序,謝謝! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 递归就是自己调用自己.例:Private Sub aaa(b As Integer)If b > 10 Then Exit SubElse b = b + 1 Debug.Print b aaa bEnd IfEnd SubPrivate Sub Command1_Click()aaa 3End Sub 比如有一個部門表t1,其有兩字段,NO(部門編號)與PNO(父部門編號)用遞歸怎樣查找某一部門下的所子部門 递归调用有风险性:一旦超过极限将引起堆栈溢出。VB下是多少层我不大清楚,当年在QB下是88层(DOS下目录的限制也是大概的数量)。我的办法是采用另一个办法:T()是一个动态数组T(0)=要查找的父部门Do 获得T(tIndex)下一级子部门Ts() 将Ts()每个元素追加到T()后面(以ReDim扩展数组,然后再做这个操作) tIndex=tIndex + 1Loop Until tIndex>表T()的最后一个元素标号。从表T(1)到最后一个元素就是所有的子部门(或者你可以筛选一下)。上述过程是广度优先的,而递归调用是深度优先的。(看你使用繁体字,如果看起来困难,下面是本贴的繁体版)遞歸調用有風險性:一旦超過極限將引起堆棧溢出。VB下是多少層我不大清楚,當年在QB下是88層(DOS下目錄的限制也是大概的數量)。我的辦法是采用另一個辦法:T()是一個動態數組T(0)=要查找的父部門Do 獲得T(tIndex)下一級子部門Ts() 將Ts()每個元素追加到T()後面(以ReDim擴展數組,然後再做這個操作) tIndex=tIndex + 1Loop Until tIndex>表T()的最後一個元素標號。從表T(1)到最後一個元素就是所有的子部門(或者你可以篩選一下)。上述過程是廣度優先的,而遞歸調用是深度優先的。 VBS文件能否调用lotus notes发邮件? 报表问题?? VBA用途都有哪些? *.rwx是什么文件???马上给分 请教网络文件传输的问题 *****如何将显示在datagrid中的查询结果生成一个dbf库文件***** 求教,关于TreeView的详细使用方法,包括添加,修改,删除,查找等……… 用VB如何检测一个文件是否被其他程序打开了? vb中如何用sql实现类似于vf的list all for "丽" in 姓名 and "孙" in 姓名 查询功能 关于报表打印 [求助]如何用vb控制excel中文字,区域的颜色?? 注册表查询问题。两个问题,一个50分!
Private Sub aaa(b As Integer)
If b > 10 Then
Exit Sub
Else
b = b + 1
Debug.Print b
aaa b
End If
End SubPrivate Sub Command1_Click()
aaa 3
End Sub
用遞歸怎樣查找某一部門下的所子部門
递归调用有风险性:一旦超过极限将引起堆栈溢出。VB下是多少层我不大清楚,当年在QB下是88层(DOS下目录的限制也是大概的数量)。我的办法是采用另一个办法:T()是一个动态数组T(0)=要查找的父部门Do
获得T(tIndex)下一级子部门Ts()
将Ts()每个元素追加到T()后面(以ReDim扩展数组,然后再做这个操作)
tIndex=tIndex + 1
Loop Until tIndex>表T()的最后一个元素标号。从表T(1)到最后一个元素就是所有的子部门(或者你可以筛选一下)。上述过程是广度优先的,而递归调用是深度优先的。(看你使用繁体字,如果看起来困难,下面是本贴的繁体版)遞歸調用有風險性:一旦超過極限將引起堆棧溢出。VB下是多少層我不大清楚,當年在QB下是88層(DOS下目錄的限制也是大概的數量)。我的辦法是采用另一個辦法:T()是一個動態數組T(0)=要查找的父部門Do
獲得T(tIndex)下一級子部門Ts()
將Ts()每個元素追加到T()後面(以ReDim擴展數組,然後再做這個操作)
tIndex=tIndex + 1
Loop Until tIndex>表T()的最後一個元素標號。從表T(1)到最後一個元素就是所有的子部門(或者你可以篩選一下)。上述過程是廣度優先的,而遞歸調用是深度優先的。