Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FERNANDA ABREU

arvore binaria em vb.net

Recommended Posts

OLá pessoal , eu sou nova por aqui estou fazendo um trabalho em vb.net e gostaria de saber se tem como implementar uma arvore binária em vb.net ?? se tem é possivel fazer isso graficamente?? poderiam me dar uma ajudar com isso ??? eu até vi um codigo aqui nesse forum mas o codigo da um erro na parte frmprincipal.circle.. alguém sabe pq??

 

grata

 

Fernanda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu consegui alguns avanços alguém saberia me dizer como eu faço pra imprimir esse codigo em um listbox? por exemplo o percurso pre ordem? se alguem souber ajuda ai por favor...

grata..

ai vai o codigo

formulario arvore

....

Public Class Arvore

 

 

Private tiHead

 

'done to reduce program stack space

Private mfAddDups

Private mvarItemToAdd

Public valor(4) As Integer

 

Public Sub New()

tiHead = New TreeItem

End Sub

 

Public Sub Add(ByVal varNewItem)

mfAddDups = True

mvarItemToAdd = varNewItem

AddNode(tiHead)

End Sub

 

Public Function AddNode(ByVal ti)

If ti Is Nothing Then

ti = New TreeItem

ti.Value = mvarItemToAdd

Else

If mvarItemToAdd < ti.Value Then

ti.LeftChild = AddNode(ti.LeftChild)

ElseIf mvarItemToAdd > ti.Value Then

ti.LeftChild = AddNode(ti.RightChild)

Else

If mfAddDups Then

ti.RightChild = AddNode(ti.RightChild)

End If

End If

End If

 

AddNode = ti

End Function

 

Private Sub PostOrder(ByVal ti)

If Not ti Is Nothing Then

InOrder(ti.LeftChild)

InOrder(ti.RightChild)

Print(ti.Value)

End If

End Sub

Public Sub WalkInOrder()

Call InOrder(tiHead)

End Sub

Public Sub WalkPreOrder()

Call PreOrder(tiHead)

End Sub

Public Sub WalkPostOrder()

Call PostOrder(tiHead)

End Sub

Public Sub InOrder(ByVal ti As TreeItem)

If Not ti Is Nothing Then

Call InOrder(ti.LeftChild)

MsgBox(ti.Value)

Call InOrder(ti.RightChild)

 

 

 

 

End If

End Sub

Private Sub PreOrder(ByVal ti As TreeItem)

If Not ti Is Nothing Then

Print(ti.Value, " ")

Call PreOrder(ti.LeftChild)

Call PreOrder(ti.RightChild)

End If

End Sub

Private Sub PostOrder(ByVal ti As TreeItem)

If Not ti Is Nothing Then

Call PostOrder(ti.LeftChild)

Call PostOrder(ti.RightChild)

Print(ti.Value)

Print(" ")

End If

End Sub

 

 

 

 

End Class

 

 

Private Sub FrmArvore1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

 

End Sub

 

Private Sub btnok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnok.Click

Dim MyTree = New Arvore

Dim i As Integer

MyTree.Add(txtnumero1.Text)

MyTree.Add(txtnumero2.Text)

 

MyTree.Add(txtnumero4.Text)

MyTree.WalkInOrder()

MyTree.Add(txtnumero3.Text)

MyTree.WalkInOrder()

For i = 1 To 4

ListBox1.Items.Add(MyTree.valor(i))

Next

 

 

 

 

 

 

End Sub

 

End Class

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.