Mental Model
A doubly linked list lets you move forward and backward through nodes. To insert at a specific spot, you find that spot and adjust the nearby nodes to include the new one.
Analogy: Imagine a train with cars linked front and back. To add a new car in the middle, you disconnect the link between two cars and connect the new car between them, so the train stays connected both ways.
null ← 1 ↔ 2 ↔ 3 -> null
↑
head pointer