VB.net可以递归吗 vb的递归算法

有没有朋友可以详细解释一下关于VB.NET里面的递归?最好有代码加注释,谢谢.给你个例子希望可以帮到你
递归系统目录结构.
递归整个C盘目录:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iDir As IO.Directory
Dim node As New TreeNode
'先把C盘添加到树中
TreeView1.Nodes.Clear()
node.ImageIndex = 0
node.Text = "本地磁盘 C:"
node.SelectedImageIndex = -1
TreeView1.Nodes.Add(node)
Dim i As Integer
'获取C:盘根目录下的文件夹
Dim str() As String = IO.Directory.GetDirectories("D:\")
For i = 0 To str.GetUpperBound(0)
'调用遍历过程
AddDirectory("C:", str(i), node)
Next
node = Nothing
iDir = Nothing
End Sub
Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)
Dim iDir As IO.Directory
'Dim iDirInfo As IO.DirectoryInfo
Dim i As Integer
Dim node As New TreeNode
'先添加本目录 , 从文件夹路径分析出文件夹名称
node.Text = Strings.Replace(strPath, strFatherPath"\", "", , 1)
'为单个节点指定节点未被选中时显示的图标
node.ImageIndex = 1
'为单个节点指定节点被选中时显示的图标
node.SelectedImageIndex = 2
nodeFather.Nodes.Add(node)
Application.DoEvents()
Try
Dim str() As String = IO.Directory.GetDirectories(strPath)
'遍历该目录的子文件夹
For i = 0 To str.GetUpperBound(0)
AddDirectory(strPath, str(i), node)
Next
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
node = Nothing
iDir = Nothing
End Sub
VB.NET中,嵌套过程和递归过程有什么区别嵌套是指一个过程调用另一个过程的使用,递归过程是这个过程中调用本过程的使用 。递归是嵌套的一种特殊形式 , 递归过程必须有“归点”,也就是终止调用本身的一个分支
vb.net 递归 vb.net 递归这种不要用递归,知道关键字长度,知道节数用判断就可以VB.net可以递归吗了,取前3位第一节,第二节取3个为父节点,取全部为第二节关键字,第三节取前6个为父节点,取全部为第三节关键字.
并没有要求培养字段VB.net可以递归吗,查询时从len(ID)=3*NVB.net可以递归吗,每次循环时N都 1
select * from tablename where len(id)=3
select case N
case 1
treeview.node.add id,name
case 2
treeview.node(left(id,3)).node.add id,name
case 3
treeview.node(left(id,3)).node(left(id,6)).add id,name
end select
查询结果排个升序就不会存在这样的问题VB.net可以递归吗了,你刚才说的那种,如果中间没有比001001001001001更短的关键字,那么就脱节,这种是不可能添加到treeview中.
递归一般用在不知道节数,没有关键字的情况,比如系统目录结构.
递归整个C盘目录:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iDir As IO.Directory
Dim node As New TreeNode
'先把C盘添加到树中
TreeView1.Nodes.Clear()
node.ImageIndex = 0
node.Text = "本地磁盘 C:"
node.SelectedImageIndex = -1
TreeView1.Nodes.Add(node)
Dim i As Integer
'获取C:盘根目录下的文件夹
Dim str() As String = IO.Directory.GetDirectories("D:\")
For i = 0 To str.GetUpperBound(0)
'调用遍历过程
AddDirectory("C:", str(i), node)
Next
node = Nothing
iDir = Nothing
End Sub
Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)
Dim iDir As IO.Directory
'Dim iDirInfo As IO.DirectoryInfo
Dim i As Integer
Dim node As New TreeNode
'先添加本目录,从文件夹路径分析出文件夹名称
node.Text = Strings.Replace(strPath, strFatherPath"\", "", , 1)
'为单个节点指定节点未被选中时显示的图标
node.ImageIndex = 1
'为单个节点指定节点被选中时显示的图标
node.SelectedImageIndex = 2
nodeFather.Nodes.Add(node)
Application.DoEvents()
Try
Dim str() As String = IO.Directory.GetDirectories(strPath)
'遍历该目录的子文件夹
For i = 0 To str.GetUpperBound(0)
AddDirectory(strPath, str(i), node)
Next
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
node = Nothing
iDir = Nothing
End Sub
vb.net环境下,如何将递归操作和多线程完美结合.net 为了安全,默认不允许跨线程访问操作控件 。只能谁创建了控件,谁操作 。这个textbox只能从主线程访问 。解决方案一般有两个 1. 使用委托机制 。委托创建线程去访问 2. 设置Me.CheckForIllegalCrossThreadCalls = False 表示不检测跨线程错误
vb.net 排列组合算法看了你说递归的效率低 。那么你可以不用的 。
给出的方法就是先生成第一个排列,然后每次调用下面的函数给出下一个排列 , 这样生成的效率很高,这个函数可以内联 。
这个是很经典的排列组合算法?。吭谕夏芩训揭淮蠖?。
大概是那种带指向的移动的算法 。我给你搜一个吧 。
我找了几个,这个是我觉得说的比较清楚的,你可以仔细参考一下,看不懂的话再搜点别的好了 。。
全排列的算法跟这个不太一样的 。需要有点改动的 。
至于语言的话,应该不会有太大问题吧 。。basic版的确实比较少,现在我也比较懒不想动手写 。。还是要靠你自己啦 。

    推荐阅读