MOCKSTACKS
EN
Questions And Answers

More Tutorials









VBA Data Structures

Linked List


This linked list example implements Set abstract data type operations.

SinglyLinkedNode

class

Option Explicit
Private Value As Variant
Private NextNode As SinglyLinkedNode '"Next" is a keyword in VBA and therefore is not a valid
variable name

LinkedList

class

Option Explicit
Private head As SinglyLinkedNode
'Set type operations
Public Sub Add(value As Variant)
 Dim node As SinglyLinkedNode

 Set node = New SinglyLinkedNode
 node.value = value
 Set node.nextNode = head

 Set head = node
End Sub
Public Sub Remove(value As Variant)
 Dim node As SinglyLinkedNode
 Dim prev As SinglyLinkedNode

 Set node = head

 While Not node Is Nothing
 If node.value = value Then
 'remove node
 If node Is head Then
 Set head = node.nextNode
 Else
 Set prev.nextNode = node.nextNode
 End If
 Exit Sub
 End If
 Set prev = node
 Set node = node.nextNode
 Wend
End Sub
Public Function Exists(value As Variant) As Boolean
 Dim node As SinglyLinkedNode

 Set node = head
 While Not node Is Nothing
 If node.value = value Then
 Exists = True
 Exit Function
 End If
 Set node = node.nextNode
 Wend
End Function
Public Function Count() As Long
 Dim node As SinglyLinkedNode

 Set node = head

 While Not node Is Nothing
 Count = Count + 1
 Set node = node.nextNode
 Wend

End Function


Conclusion

In this page (written and validated by ) you learned about VBA Data Structures . What's Next? If you are interested in completing VBA tutorial, your next topic will be learning about: VBA Binary Tree.



Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue: mockstacks@gmail.com.


Share On:


Mockstacks was launched to help beginners learn programming languages; the site is optimized with no Ads as, Ads might slow down the performance. We also don't track any personal information; we also don't collect any kind of data unless the user provided us a corrected information. Almost all examples have been tested. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. By using Mockstacks.com, you agree to have read and accepted our terms of use, cookies and privacy policy.