關(guān)于vb.net無參數(shù)遞歸的信息

有沒有朋友可以詳細解釋一下關(guān)于VB.NET里面的遞歸?最好有代碼加注釋,謝謝.

給你個例子希望可以幫到你

創(chuàng)新互聯(lián)主營中原網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,中原h(huán)5微信小程序定制開發(fā)搭建,中原網(wǎng)站營銷推廣歡迎中原等地區(qū)企業(yè)咨詢

遞歸系統(tǒng)目錄結(jié)構(gòu).

遞歸整個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)

'調(diào)用遍歷過程

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)

'為單個節(jié)點指定節(jié)點未被選中時顯示的圖標(biāo)

node.ImageIndex = 1

'為單個節(jié)點指定節(jié)點被選中時顯示的圖標(biāo)

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 遞歸

這種不要用遞歸,知道關(guān)鍵字長度,知道節(jié)數(shù)用判斷就可以了,取前3位第一節(jié),第二節(jié)取3個為父節(jié)點,取全部為第二節(jié)關(guān)鍵字,第三節(jié)取前6個為父節(jié)點,取全部為第三節(jié)關(guān)鍵字.

并沒有要求培養(yǎng)字段,查詢時從len(ID)=3*N,每次循環(huá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

查詢結(jié)果排個升序就不會存在這樣的問題了,你剛才說的那種,如果中間沒有比001001001001001更短的關(guān)鍵字,那么就脫節(jié),這種是不可能添加到treeview中.

遞歸一般用在不知道節(jié)數(shù),沒有關(guān)鍵字的情況,比如系統(tǒng)目錄結(jié)構(gòu).

遞歸整個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)

'調(diào)用遍歷過程

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)

'為單個節(jié)點指定節(jié)點未被選中時顯示的圖標(biāo)

node.ImageIndex = 1

'為單個節(jié)點指定節(jié)點被選中時顯示的圖標(biāo)

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

編寫遞歸函數(shù),函數(shù)只有一個參數(shù)(整數(shù)類型)比如參數(shù)=10,那么靠自己調(diào)用自己,將10到1進行累加,并返回

int nestAdd(int n) {

if (n 1) return n + nestAdd(n - 1);

else return n;

}

簡述vb.net過程的嵌套調(diào)用和遞歸調(diào)用

嵌套是指一個過程調(diào)用另一個過程的使用,遞歸過程是這個過程中調(diào)用本過程的使用。遞歸是嵌套的一種特殊形式,遞歸過程必須有“歸點”,也就是終止調(diào)用本身的一個分支

分享文章:關(guān)于vb.net無參數(shù)遞歸的信息
本文路徑:http://www.muchs.cn/article16/docsggg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、企業(yè)建站建站公司、手機網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作