Реферат: Реализация связанных списков на базе массивов
Refs(i) = i + 1 'как свободное место
Next i
Refs(NullFreeSpace) = OldLength + 1
Refs(OldLength * 2) = NullFreeSpace
End If
i = Refs(NullFreeSpace)
Link NullFreeSpace, Refs(i)
GetSpace = i
End Function
' освобождение места при удалении элемента из списка
Private Sub PutSpace(i As Integer)
Link i, Refs(NullFreeSpace)
Link NullFreeSpace, i
End Sub
' добавить element в список
Sub AddItem(element As Double)
Dim i As Integer
i = GetSpace() ' получаемсвободноеместо
Link AFTER, i ' устанавливаем его в
Link i, BEFORE ' нужном месте списка
BEFORE = i ' устанавливаем указатель
Elems(i) = element ' добавляем элемент element в список
MoveNext
Count = Count + 1 ' увеличиваем счетчик количества элементов
End Sub
'удалить элемент из списка
Sub RemoveItem()
Dim i As Integer
If Count <> 0 Then