реализация деревьев

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

koalaeng
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 22.09.2005 (Чт) 15:46

реализация деревьев

Сообщение koalaeng » 22.09.2005 (Чт) 16:08

Привет.

Кто нибудь видел для VB.NET библиотеку классов для реализации дереьв? Только не бинарных, а то у меня много потомков у одного родительского узла (больше двух).

Попытался сделать свой класс, но появляется ошибка.

Класс Node
Код: Выделить всё

Public Class Node

    Private _id As Integer
'список потомков
    Private _children As Collections.ArrayList
'указатель на родителя
    Private _parent As Node

    Public Sub New(ByVal id As Integer, ByVal parent As Node)
        If parent Is Nothing Then
            _parent = Nothing
        Else
            _parent = parent
'добовляемя в список потомков родительского узла(что бы он знал что у него есть дети)
            _parent.AddChild(Me)
        End If
        _id = id

    End Sub

    Public Sub AddChild(ByRef child As Node)
'на следующей строчке происходит ошибка: Object reference not set to an instance of an object
        _children.Add(child)

    End Sub

    Public Sub DeleteChild(ByVal child As Node)
        _children.Remove(child)
    End Sub

    Public Property Children() As Collections.ArrayList
        Get
            Return _children
        End Get
        Set(ByVal Value As Collections.ArrayList)
            _children = Value
        End Set
    End Property

    Public Property Parent() As Node
        Get
            Return Parent
        End Get
        Set(ByVal Value As Node)
            _parent = Value
        End Set
    End Property
End Class


Чего не так?...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.09.2005 (Чт) 16:35

Так у тебя член _children не инициализирован

Поставь в самом начале процедуры New строчку
Код: Выделить всё
_children = New ArrayList

и все будет нормально
Весь мир матрица, а мы в нем потоки байтов!

koalaeng
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 22.09.2005 (Чт) 15:46

Сообщение koalaeng » 22.09.2005 (Чт) 16:50

спасибо,
заработало!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49

    TopList