Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Module Module1
- Structure Node
- Dim data As String
- Dim nxt As Integer
- End Structure
- Dim nullPointer As Integer = -1
- Class LinkedListType
- Private head As Integer
- Public node As Node()
- Public Sub New(Size)
- Dim node(Size)
- head = 0
- For i = 0 To Size - 2
- Me.node(i).nxt = i + 1
- Next
- Me.node(Size - 1).nxt = nullPointer
- End Sub
- Public Sub Push(data As String)
- Dim currentNode = head
- Dim i As Integer = 0
- While Me.node(currentNode).nxt <> nullPointer
- currentNode = Me.node(currentNode).nxt
- i += 1
- End While
- If currentNode <> Me.node.Length - 1 Then
- If head = nullPointer Then
- head = 0
- Me.node(head).data = data
- Me.node(head).nxt = nullPointer
- Else
- Me.node(currentNode).nxt = i + 1
- Me.node(Me.node(currentNode).nxt).data = data
- Me.node(Me.node(currentNode).nxt).nxt = nullPointer
- End If
- End If
- End Sub
- Public Sub Enqueue(data As String)
- Dim currentNode As Integer = head
- Dim i As Integer = 0
- Dim firstNode As Integer
- While currentNode <> nullPointer
- currentNode = Me.node(currentNode).nxt
- i += 1
- End While
- If currentNode <> Me.node.Length - 1 Then
- firstNode = head
- If head = nullPointer Then
- head = 0
- Me.node(head).data = data
- Me.node(head).nxt = nullPointer
- Else
- head = i + 1
- Me.node(head).data = data
- Me.node(head).nxt = firstNode
- End If
- End If
- End Sub
- Public Sub PrintList()
- Dim currentNode As Integer = head
- While currentNode <> nullPointer
- Console.WriteLine(Me.node(currentNode).data)
- currentNode = Me.node(currentNode).nxt
- End While
- Console.WriteLine()
- End Sub
- End Class
- Sub Main()
- Dim myList As New LinkedListType(5)
- End Sub
- End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement