' i made a type that has Element and Pointer, but this so called pointer acts like
'an index , in order to linked to the next node pointer will just increment.
[CODE=vb]Option Explicit
Private Type LinkedlistNode
element As Integer
pointer As Integer
End Type
Dim length As Integer
Dim node As LinkedlistNode
Function createList(size As Integer)
length = size
i% = 0
For i = 0 To i = size
node.element = 0
node.pointer = i
i = i + 1
Next
End Function
Function setElement(val As Integer, pos As Integer)
If (pos > 1) Then
i% = 0
Do Until i = pos
node.pointer = i
Loop
node.element = val
node.pointer = i
Else
node.element = val
node.pointer = 0
End If
length = length + 1
End Function
Function getElement(pos As Integer) As Integer
If (pos <= length) Then
For i% = 0 To i = pos
node.pointer = i
i = i + 1
Next
node.pointer = i
getElement() = node.element
Else
Err.Raise
End Function
Function setLength(newSi ze As Integer)
If (newSize > length) Then
diff% = newSize - length
For i% = 1 To i = diff
addLast (0)
i = i + 1
Next
Else
diff = length - newSize
i = 0
Do Until i = newSize
node.pointer = i
Loop
For i = size + 1 To i = length
node.element = Nothing
node.pointer = Nothing
i = i + 1
Next
End If
length = newSize
End Function
Private Function addLast(val As Integer)
addlen% = length + 1
node.element = 0
node.pointer = addlen
End Function[/CODE]
'an index , in order to linked to the next node pointer will just increment.
[CODE=vb]Option Explicit
Private Type LinkedlistNode
element As Integer
pointer As Integer
End Type
Dim length As Integer
Dim node As LinkedlistNode
Function createList(size As Integer)
length = size
i% = 0
For i = 0 To i = size
node.element = 0
node.pointer = i
i = i + 1
Next
End Function
Function setElement(val As Integer, pos As Integer)
If (pos > 1) Then
i% = 0
Do Until i = pos
node.pointer = i
Loop
node.element = val
node.pointer = i
Else
node.element = val
node.pointer = 0
End If
length = length + 1
End Function
Function getElement(pos As Integer) As Integer
If (pos <= length) Then
For i% = 0 To i = pos
node.pointer = i
i = i + 1
Next
node.pointer = i
getElement() = node.element
Else
Err.Raise
End Function
Function setLength(newSi ze As Integer)
If (newSize > length) Then
diff% = newSize - length
For i% = 1 To i = diff
addLast (0)
i = i + 1
Next
Else
diff = length - newSize
i = 0
Do Until i = newSize
node.pointer = i
Loop
For i = size + 1 To i = length
node.element = Nothing
node.pointer = Nothing
i = i + 1
Next
End If
length = newSize
End Function
Private Function addLast(val As Integer)
addlen% = length + 1
node.element = 0
node.pointer = addlen
End Function[/CODE]
Comment