Concept Flow - Doubly linked list
Create new node
Set new_node.prev to current tail
Set current tail.next to new_node
Update tail pointer to new_node
If list empty, set head to new_node
Done - node added at end
This flow shows how a new node is added at the end of a doubly linked list by updating pointers forward and backward.