#define FIL 1 #define DATO 2 #define LPREV 3 #define LNEXT 4 Dim Shared As Integer countNodes, Nodes countNodes = 0 Nodes = 10 Dim Shared As Integer list(Nodes, 4) list(0, LNEXT) = 1 Function searchNode(node As Integer) As Integer Dim As Integer Node11 For i As Integer = 0 To node-1 Node11 = list(Node11, LNEXT) Next i Return Node11 End Function Sub insertNode(node As Integer, newNode As Integer) Dim As Integer Node11, i If countNodes = 0 Then node = 2 For i = 1 To Nodes If Not list(i, FIL) Then Exit For Next list(i, FIL) = True list(i, DATO) = newNode Node11 = searchNode(node) list(i, LPREV) = list(Node11, LPREV) list(list(i, LPREV), LNEXT) = i If i <> Node11 Then list(i, LNEXT) = Node11 : list(Node11, LPREV) = i countNodes += 1 If countNodes = Nodes Then Nodes += 10 : Redim list(Nodes, 4) End Sub Sub removeNode(n As Integer) Dim As Integer Node11 = searchNode(n) list(list(Node11, LPREV), LNEXT) = list(Node11, LNEXT) list(list(Node11, LNEXT), LPREV) = list(Node11, LPREV) list(Node11, LNEXT) = 0 list(Node11, LPREV) = 0 list(Node11, FIL) = False countNodes -= 1 End Sub Sub printNode(node As Integer) Dim As Integer Node11 = searchNode(node) Print list(Node11, DATO); Print End Sub Sub traverseList() For i As Integer = 1 To countNodes printNode(i) Next i End Sub insertNode(1, 1000) insertNode(2, 2000) insertNode(2, 3000) traverseList() removeNode(2) Print traverseList() Sleep