Skip to main content

Remove last node of the linked list in vb.net

delete last node of linked list After delete last node of linked list

Vb program for Remove last node of the linked list. Here mentioned other language solution.

' Include namespace system
Imports System 
'    Vb.net program for
'    Delete the last node of singly linked list

'  Linked list node
Public Class LinkNode
    Public  data As Integer
    Public  [next] As LinkNode
    Public Sub New(ByVal data As Integer)
        Me.data = data
        Me.next = Nothing
    End Sub
End Class

public Class SingleLL
    Public  head As LinkNode
    Public  tail As LinkNode
    Public Sub New()
        Me.head = Nothing
        Me.tail = Nothing
    End Sub
    '  Add new node at the end of linked list
    Public Sub addNode(ByVal value As Integer)
        '  Create a new node
        Dim node As LinkNode = New LinkNode(value)
        if (Me.head  Is  Nothing) Then
            Me.head = node
        Else
            Me.tail.[next] = node
        End IF
        Me.tail = node
    End Sub
    '  Display linked list element
    Public Sub display()
        if (Me.head  Is  Nothing) Then
            Console.WriteLine("Empty Linked List")
            Return
        End If
        Dim temp As LinkNode = Me.head
        '  iterating linked list elements
        while (temp IsNot Nothing)
            Console.Write(temp.data.ToString() + " → ")
            '  Visit to next node
            temp = temp.[next]
        End While
        Console.WriteLine("NULL")
    End Sub
    '  Delete last node of singly linked list
    Public Sub deleteLastNode()
        if (Me.head  Is  Nothing) Then
            Console.WriteLine("Empty Linked List")
            Return
        Else
            Dim temp As LinkNode = Me.head
            Dim find As LinkNode = Nothing
            '  Find second last node
            while (temp.[next] IsNot Nothing)
                find = temp
                temp = temp.[next]
            End While
            if (find  Is  Nothing) Then
                '  Delete head node of linked list
                Me.head = Nothing
                Me.tail = Nothing
            Else
                '  Set new last node
                Me.tail = find
                find.[next] = Nothing
            End IF
        End IF
    End Sub
    Public Shared Sub Main(ByVal args As String())
        Dim sll As SingleLL = New SingleLL()
        '  Linked list
        '  1 → 2 → 3 → 4 → 5 → 6 → NULL
        sll.addNode(1)
        sll.addNode(2)
        sll.addNode(3)
        sll.addNode(4)
        sll.addNode(5)
        sll.addNode(6)
        Console.WriteLine("Before Delete ")
        sll.display()
        sll.deleteLastNode()
        Console.WriteLine("After Delete ")
        sll.display()
    End Sub
End Class

Output

Before Delete
1 → 2 → 3 → 4 → 5 → 6 → NULL
After Delete
1 → 2 → 3 → 4 → 5 → NULL




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment