Bird
Raised Fist0
DSA Typescriptprogramming

Push Operation on Stack in DSA Typescript

Choose your learning style10 modes available
Mental Model
A stack is like a pile where you add new items only on top. Push means putting a new item on the top of this pile.
Analogy: Imagine a stack of plates. When you add a new plate, you always put it on the top of the stack.
Top -> null
Dry Run Walkthrough
Input: stack: empty, push value 5
Goal: Add the value 5 on top of the empty stack
Step 1: Create a new node with value 5
5 -> null
Why: We need a new node to hold the value being pushed
Step 2: Set new node's next pointer to current top (null)
5 -> null
Why: The new node points to what was previously on top, which is nothing
Step 3: Update stack top to new node
Top -> 5 -> null
Why: The new node becomes the top of the stack
Result:
Top -> 5 -> null
Annotated Code
DSA Typescript
class Node {
  value: number;
  next: Node | null;
  constructor(value: number) {
    this.value = value;
    this.next = null;
  }
}

class Stack {
  top: Node | null;
  constructor() {
    this.top = null;
  }

  push(value: number): void {
    const newNode = new Node(value); // create new node
    newNode.next = this.top; // link new node to current top
    this.top = newNode; // update top to new node
  }

  print(): void {
    let curr = this.top;
    let result = '';
    while (curr !== null) {
      result += curr.value + ' -> ';
      curr = curr.next;
    }
    result += 'null';
    console.log(result);
  }
}

// Driver code
const stack = new Stack();
stack.push(5);
stack.print();
const newNode = new Node(value); // create new node
create a new node to hold the pushed value
newNode.next = this.top; // link new node to current top
point new node's next to current top to keep stack order
this.top = newNode; // update top to new node
make new node the new top of the stack
OutputSuccess
5 -> null
Complexity Analysis
Time: O(1) because push adds one node at the top without traversing
Space: O(1) because only one new node is created per push
vs Alternative: Compared to arrays where push might resize or shift, linked list push is always O(1)
Edge Cases
empty stack
push creates the first node and sets it as top
DSA Typescript
this.top = newNode; // update top to new node
When to Use This Pattern
When you see a problem needing last-in-first-out order, reach for stack push because it adds items on top efficiently.
Common Mistakes
Mistake: Not linking the new node's next to the current top before updating top
Fix: Always set newNode.next = this.top before changing this.top
Summary
Push adds a new item on top of the stack.
Use push when you want to add data in last-in-first-out order.
Remember to link the new node to the old top before updating the top pointer.

Practice

(1/5)
1. What does the push operation do in a stack data structure?
easy
A. Returns the bottom element of the stack
B. Removes the top element from the stack
C. Adds an element to the top of the stack
D. Checks if the stack is empty

Solution

  1. Step 1: Understand stack behavior

    A stack follows Last In First Out (LIFO) principle, where elements are added or removed from the top.
  2. Step 2: Define push operation

    The push operation adds a new element on top of the existing elements in the stack.
  3. Final Answer:

    Adds an element to the top of the stack -> Option C
  4. Quick Check:

    Push = Add top [OK]
Hint: Push always adds on top of stack [OK]
Common Mistakes:
  • Confusing push with pop operation
  • Thinking push removes elements
  • Mixing stack with queue operations
2. Which of the following is the correct TypeScript syntax to push an element 5 into a stack array named stack?
easy
A. stack.push(5);
B. stack.add(5);
C. push(stack, 5);
D. stack.insert(5);

Solution

  1. Step 1: Recall TypeScript array push method

    In TypeScript, arrays have a built-in method push() to add elements at the end (top for stack).
  2. Step 2: Match syntax

    The correct syntax is calling push on the array with the element as argument: stack.push(5);
  3. Final Answer:

    stack.push(5); -> Option A
  4. Quick Check:

    Array push method = stack.push(value) [OK]
Hint: Use array.push(element) to push [OK]
Common Mistakes:
  • Using non-existent methods like add or insert
  • Calling push as a standalone function
  • Forgetting parentheses after push
3. What will be the content of the stack after executing the following TypeScript code?
const stack: number[] = [];
stack.push(10);
stack.push(20);
stack.push(30);
medium
A. [30, 20, 10]
B. [10, 20, 30]
C. [10, 30, 20]
D. [20, 10, 30]

Solution

  1. Step 1: Trace each push operation

    Initially, stack is empty []. After push(10), stack = [10]. After push(20), stack = [10, 20]. After push(30), stack = [10, 20, 30].
  2. Step 2: Understand stack order

    The first pushed element is at index 0, last pushed at the end. So the array shows bottom to top as left to right.
  3. Final Answer:

    [10, 20, 30] -> Option B
  4. Quick Check:

    Push order = [10, 20, 30] [OK]
Hint: Stack array shows bottom to top left to right [OK]
Common Mistakes:
  • Reversing the order of elements
  • Confusing push with pop output
  • Assuming push adds at start of array
4. Identify the error in the following TypeScript code that tries to push an element into a stack:
let stack: number[] = [1, 2, 3];
stack.push 4;
medium
A. Missing parentheses after push
B. Stack should be declared as const
C. push cannot be used on arrays
D. Missing semicolon after array declaration

Solution

  1. Step 1: Check push method syntax

    The push method requires parentheses to pass the element: stack.push(4);. The code uses stack.push 4; which is invalid.
  2. Step 2: Verify other parts

    Declaring stack with let is valid. push is valid on arrays. Semicolon is optional but not an error here.
  3. Final Answer:

    Missing parentheses after push -> Option A
  4. Quick Check:

    push() needs parentheses [OK]
Hint: Always use parentheses with push method [OK]
Common Mistakes:
  • Omitting parentheses on method calls
  • Thinking push is a property, not a method
  • Confusing let and const errors
5. Given a stack implemented as an array, how can you push multiple elements [4, 5, 6] onto the stack in one operation while preserving their order (4 at bottom, 6 at top)?
hard
A. Use stack.unshift(...[4, 5, 6])
B. Use stack.push([4, 5, 6])
C. Use a loop to push each element from left to right
D. Use stack.push(...[4, 5, 6])

Solution

  1. Step 1: Understand spread operator with push

    Using stack.push(...[4, 5, 6]) spreads the array elements as separate arguments, pushing 4, then 5, then 6 in order.
  2. Step 2: Compare other options

    stack.push([4, 5, 6]) pushes the entire array as one element, not separate elements.
    Looping works but is multiple operations, not one.
    unshift adds elements at the start, not top of stack.
  3. Final Answer:

    Use stack.push(...[4, 5, 6]) -> Option D
  4. Quick Check:

    Spread operator with push adds multiple elements [OK]
Hint: Use spread operator ... with push for multiple elements [OK]
Common Mistakes:
  • Pushing array as single element instead of separate
  • Using unshift which adds at bottom
  • Forgetting spread operator syntax
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard