网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

vb.net递归的例子 vb递归函数

有没有朋友可以详细解释一下关于VB.NET里面的递归?最好有代码加注释,谢谢.

给你个例子希望可以帮到你

创新互联专业为企业提供奈曼网站建设、奈曼做网站、奈曼网站设计、奈曼网站制作等企业网站建设、网页设计与制作、奈曼企业网站模板建站服务,10多年奈曼做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

递归系统目录结构.

递归整个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 递归

这种不要用递归,知道关键字长度,知道节数用判断就可以了,取前3位第一节,第二节取3个为父节点,取全部为第二节关键字,第三节取前6个为父节点,取全部为第三节关键字.

并没有要求培养字段,查询时从len(ID)=3*N,每次循环时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

查询结果排个升序就不会存在这样的问题了,你刚才说的那种,如果中间没有比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中递归的用法:

首先VB是不推荐用递归算法的,效率太低,建议用循环做

然后你的dm是string,那么它咋就能作为二维数组的下标呢?

再说你的条件是 ri = TabA(i, 0) ,不是 ri=tab(i,dm)啊?


网站题目:vb.net递归的例子 vb递归函数
转载来源:http://bjjierui.cn/article/doccopj.html

其他资讯