Реферат: Реализация связанных списков на базе массивов

ReDim Elems(capacity + 1)

ReDim Refs(capacity + 1)

ClearList

End Sub

' Очисткасписка

Sub ClearList()

Refs(NullElem) = NullElem 'конец списка указывает сам на себя

Dim i As Integer

' Поскольку список пуст, то все ячейки массива помечаются

' как "свободноеместо".

For i = NullFreeSpace To UBound(Refs) - 1

Refs(i) = i + 1

Next i

Refs(UBound(Refs)) = NullFreeSpace ' Закольцовываем "свободноеместо".

AFTER = 0

BEFORE = 0

Count = 0

End Sub

' Присваиваниевиртуальномуиндексу virtualIndex значения realIndex

Private Sub Link(virtualIndex As Integer, realIndex As Integer)

Refs(virtualIndex) = realIndex

End Sub

' Выделение места для новых элементов

Private Function GetSpace() As Integer

Dim i As Integer, OldLength As Integer

If IsListFull Then

OldLength = UBound(Elems)

ReDim Preserve Elems(OldLength * 2) 'динамическоеувеличениедлины

ReDim Preserve Refs(OldLength * 2) 'списка, еслионужеполностьюзаполнен

К-во Просмотров: 308
Бесплатно скачать Реферат: Реализация связанных списков на базе массивов