Advertisement
nein_yards

Linked List Array Implementation 1.0

Jun 2nd, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. Module Module1
  2. Structure Node
  3. Dim data As String
  4. Dim nxt As Integer
  5. End Structure
  6. Dim nullPointer As Integer = -1
  7. Class LinkedListType
  8. Private head As Integer
  9. Public node As Node()
  10. Public Sub New(Size)
  11. Dim node(Size)
  12. head = 0
  13. For i = 0 To Size - 2
  14. Me.node(i).nxt = i + 1
  15. Next
  16. Me.node(Size - 1).nxt = nullPointer
  17. End Sub
  18. Public Sub Push(data As String)
  19. Dim currentNode = head
  20. Dim i As Integer = 0
  21. While Me.node(currentNode).nxt <> nullPointer
  22. currentNode = Me.node(currentNode).nxt
  23. i += 1
  24. End While
  25. If currentNode <> Me.node.Length - 1 Then
  26. If head = nullPointer Then
  27. head = 0
  28. Me.node(head).data = data
  29. Me.node(head).nxt = nullPointer
  30. Else
  31. Me.node(currentNode).nxt = i + 1
  32. Me.node(Me.node(currentNode).nxt).data = data
  33. Me.node(Me.node(currentNode).nxt).nxt = nullPointer
  34. End If
  35. End If
  36. End Sub
  37. Public Sub Enqueue(data As String)
  38. Dim currentNode As Integer = head
  39. Dim i As Integer = 0
  40. Dim firstNode As Integer
  41. While currentNode <> nullPointer
  42. currentNode = Me.node(currentNode).nxt
  43. i += 1
  44. End While
  45. If currentNode <> Me.node.Length - 1 Then
  46. firstNode = head
  47. If head = nullPointer Then
  48. head = 0
  49. Me.node(head).data = data
  50. Me.node(head).nxt = nullPointer
  51. Else
  52. head = i + 1
  53. Me.node(head).data = data
  54. Me.node(head).nxt = firstNode
  55. End If
  56. End If
  57. End Sub
  58. Public Sub PrintList()
  59. Dim currentNode As Integer = head
  60. While currentNode <> nullPointer
  61. Console.WriteLine(Me.node(currentNode).data)
  62. currentNode = Me.node(currentNode).nxt
  63. End While
  64. Console.WriteLine()
  65. End Sub
  66. End Class
  67. Sub Main()
  68. Dim myList As New LinkedListType(5)
  69. End Sub
  70. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement