Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Module Module1
- Structure Node
- Dim data As Integer
- Dim nxt As Integer
- End Structure
- Const nullPointer As Integer = -1
- Class LinkedListType
- Private head,
- freeListPointer,
- size As Integer
- Public node As Node()
- Public Sub New(size As Integer)
- Me.size = size
- If size < 0 Then : Exit Sub : End If
- ReDim node(size)
- head = nullPointer
- freeListPointer = 0
- For i = 0 To size
- node(i).nxt = i + 1
- Next
- node(size).nxt = nullPointer
- End Sub
- Public Sub InsertNode(data As Integer)
- If size < 0 Then : Exit Sub : End If
- Dim newPointer,
- previousPointer,
- currentPointer As Integer
- If freeListPointer <> nullPointer Then 'is it full?
- newPointer = freeListPointer
- freeListPointer = node(freeListPointer).nxt
- node(newPointer).data = data
- 'assign free pointer to new pointer
- 'free pointer moved forward and data assigned
- currentPointer = head 'for traversing
- While currentPointer <> nullPointer
- If node(currentPointer).data > data Then
- Exit While : End If
- previousPointer = currentPointer
- currentPointer = node(currentPointer).nxt
- End While
- If currentPointer = head Then
- node(newPointer).nxt = head
- head = newPointer
- Else
- node(newPointer).nxt = node(previousPointer).nxt
- node(previousPointer).nxt = newPointer
- End If
- Else : Console.WriteLine("ARRAY BOUNDS EXCEEDED")
- End If
- End Sub
- Public Sub PrintList()
- Dim currentPointer As Integer = head
- While currentPointer <> nullPointer
- Console.Write(node(currentPointer).data)
- currentPointer = node(currentPointer).nxt
- If currentPointer <> nullPointer Then
- Console.Write(" -> ") : End If
- End While
- Console.WriteLine()
- End Sub
- End Class
- Sub Main()
- Dim myList As New LinkedListType(4)
- myList.InsertNode(1)
- myList.InsertNode(19)
- myList.InsertNode(5)
- myList.InsertNode(23)
- myList.InsertNode(12)
- myList.PrintList()
- Console.ReadLine()
- End Sub
- End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement