You are on page 1of 4

Machine Problem 4: Prog41

Using doubly linked lists, create a C# program that inserts the values 333 and 444 to the middle of the
existing list: 10, 20, 30, 40, 50, 60.

PSEUDOCODE

BEGIN

DECLARE class Node

Initialize data = d

END class Node

DECLARE void Push

new Node = new Node

new Node next = head

new Node prev = null

IF (head != null)

head prev = new Node

ENDIF

head = new Node

END Push

DECLARE void InsertAfter

IF (prev node == null)

PRINT "Previous node cannot be null"

ENDIF

new Node = new Node

new Node next = prev Node next


prev Node next = new Node

new Node prev = prev Node

IF (new node next != null)

new node next prev = new node

ENDIF

END InsertAfter

DECLARE void InsertBefore

IF (next node == null)

PRINT "Previous node cannot be null"

ENDIF

new Node = new Node

new Node prev = next Node next

next Node next = new Node

new Node prev = next Node

IF (new node prev != null)

new nove prev next = new node

ENDIF

END InsertBefore

DECLARE void append

Node new node = new Node

Node last = head;

new Node next = null

IF (head == null)
new node prev = null

head = new node

return

ENDIF

WHILE (last next != null)

last = last next

ENDWHILE

last next = new node

new node prev = last

END Append

DECLARE void deleteNode

IF (head == null OR del == null)

Return

ENDIF

IF (head == del)

head = del next

ENDIF

IF (del next != null)

del next prev = del prev

ENDIF

IF (del prev != null)

del prev next = del next

ENDIF

Return
END deleteNode

DECLARE printList

WHILE (node != null)

PRINT node.data

node = node.next

ENDWHILE

END printList

START Main Method

Construct new object dll

append node (10)

append node (20)

append node (30)

append node (40)

append node (50)

append node (60)

InsertAfter head.next.next (333)

InsertAfter head.next.next.next (444)

PRINT printList

END Main Method

END

You might also like