Concept Flow - Push Using Linked List Node
Create new node with value
Set new node.next to current head
Update head to new node
Done
This flow shows how a new node is created and added at the start of the linked list by adjusting pointers.
class Node { constructor(value) { this.value = value; this.next = null; } } function push(head, value) { const newNode = new Node(value); newNode.next = head; return newNode; }
| Step | Operation | Nodes in List | Pointer Changes | Visual State |
|---|---|---|---|---|
| 1 | Start with empty list | None | head = null | null |
| 2 | Create new node with value 10 | Node(10) | newNode.next = null | 10 -> null |
| 3 | Set newNode.next to head (null) | Node(10) | newNode.next = head (null) | 10 -> null |
| 4 | Update head to newNode | Node(10) | head = newNode | 10 -> null |
| 5 | Create new node with value 20 | Node(20), Node(10) | newNode.next = head (Node(10)) | 20 -> 10 -> null |
| 6 | Set newNode.next to head (Node(10)) | Node(20), Node(10) | newNode.next = head | 20 -> 10 -> null |
| 7 | Update head to newNode | Node(20), Node(10) | head = newNode | 20 -> 10 -> null |
| 8 | Create new node with value 30 | Node(30), Node(20), Node(10) | newNode.next = head (Node(20)) | 30 -> 20 -> 10 -> null |
| 9 | Set newNode.next to head (Node(20)) | Node(30), Node(20), Node(10) | newNode.next = head | 30 -> 20 -> 10 -> null |
| 10 | Update head to newNode | Node(30), Node(20), Node(10) | head = newNode | 30 -> 20 -> 10 -> null |
| 11 | End of push operations | Node(30), Node(20), Node(10) | head points to Node(30) | 30 -> 20 -> 10 -> null |
| Variable | Start | After Step 2 | After Step 5 | After Step 8 | Final |
|---|---|---|---|---|---|
| head | null | null | Node(10) | Node(20) | Node(30) |
| newNode | undefined | Node(10) | Node(20) | Node(30) | Node(30) |
| newNode.next | undefined | null | Node(10) | Node(20) | Node(20) |
Push Using Linked List Node: - Create new node with value - Set newNode.next to current head - Update head to newNode - New node becomes list head - List grows at front with each push
push operation do in a linked list when using nodes?class Node {
constructor(value) {
this.value = value;
this.next = null;
}
}
let head = null;
function push(value) {
let newNode = new Node(value);
newNode.next = head;
head = newNode;
}
push(10);
push(20);
push(30);function push(value) {
let newNode = Node(value);
newNode.next = head;
head = newNode;
}function push(value) {
let newNode = new Node(value);
newNode.next = head;
head = newNode;
}head points to the first node (5).Pass the test and this pattern moves unknown