Bird
Raised Fist0
DSA Cprogramming~5 mins

Array Deletion at Middle Index in DSA C - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What happens to the elements after deleting an element at the middle index of an array?
All elements after the deleted index shift one position to the left to fill the gap.
Click to reveal answer
beginner
Why can't we just remove an element from the middle of a static array without shifting elements?
Because arrays have fixed size and continuous memory, removing an element leaves a gap that must be filled by shifting elements.
Click to reveal answer
beginner
In C, after deleting an element from an array, what must be updated to reflect the new size?
The variable that stores the array's current size must be decreased by one.
Click to reveal answer
intermediate
What is the time complexity of deleting an element at the middle index of an array?
O(n), because elements after the deleted index must be shifted one by one.
Click to reveal answer
beginner
Show the steps to delete the element at index 2 from the array [10, 20, 30, 40, 50].
1. Remove element 30 at index 2.
2. Shift elements 40 and 50 left by one.
3. New array: [10, 20, 40, 50].
4. Decrease size by 1.
Click to reveal answer
What must you do after deleting an element from the middle of an array?
AResize the array automatically
BShift all elements after it one position to the left
CDo nothing, just mark it deleted
DShift all elements before it one position to the right
What is the time complexity of deleting an element at the middle index of an array of size n?
AO(n^2)
BO(1)
CO(log n)
DO(n)
If an array has 5 elements and you delete the element at index 2, what is the new size of the array?
A4
B3
C5
D2
Which of these is NOT a step in deleting an element from the middle of an array?
AShift elements after the deleted index left
BDecrease the array size variable
CAllocate new memory for the array
DOverwrite the deleted element
What happens if you try to delete an element at an invalid index in an array?
AIt causes undefined behavior or error
BThe program safely ignores it
CIt deletes the last element instead
DIt deletes the first element instead
Explain how to delete an element at the middle index of an array and update its size.
Think about filling the gap left by the deleted element.
You got /3 concepts.
    Describe why deleting an element in the middle of a static array requires shifting elements.
    Consider how arrays store elements in memory.
    You got /3 concepts.

      Practice

      (1/5)
      1. What happens when you delete the middle element from an array of size 5?
      int arr[5] = {10, 20, 30, 40, 50};
      Delete the element at index 2 (middle). What is the new array?
      easy
      A. [10, 20, 40, 50]
      B. [10, 20, 30, 40, 50]
      C. [10, 20, 30, 50]
      D. [20, 30, 40, 50]

      Solution

      1. Step 1: Identify the middle index and element

        The array has 5 elements, so the middle index is 2 (0-based). The element at index 2 is 30.
      2. Step 2: Delete the middle element and shift remaining elements

        Remove 30, then shift elements after index 2 left by one: 40 moves to index 2, 50 moves to index 3.
      3. Final Answer:

        [10, 20, 40, 50] -> Option A
      4. Quick Check:

        Middle element removed, array size reduced by 1 [OK]
      Hint: Remove middle, shift right elements left by one [OK]
      Common Mistakes:
      • Not shifting elements after deletion
      • Deleting wrong index
      • Leaving array size unchanged
      2. Which of the following C code snippets correctly deletes the middle element from an array arr of size n?
      easy
      A. for (int i = n/2; i > 0; i--) arr[i] = arr[i - 1]; n--;
      B. for (int i = 0; i < n/2; i++) arr[i] = arr[i + 1]; n--;
      C. for (int i = n - 1; i > n/2; i--) arr[i] = arr[i - 1]; n--;
      D. for (int i = n/2; i < n - 1; i++) arr[i] = arr[i + 1]; n--;

      Solution

      1. Step 1: Identify the middle index and loop direction

        The middle index is n/2 (integer division). To delete, shift elements after middle left.
      2. Step 2: Check loop correctness

        for (int i = n/2; i < n - 1; i++) arr[i] = arr[i + 1]; n--; shifts elements from middle to end left by one, then reduces size. This is correct.
      3. Final Answer:

        for (int i = n/2; i < n - 1; i++) arr[i] = arr[i + 1]; n--; -> Option D
      4. Quick Check:

        Shift elements after middle left [OK]
      Hint: Shift elements from middle to end left by one [OK]
      Common Mistakes:
      • Shifting elements before middle
      • Looping in wrong direction
      • Not reducing array size
      3. What is the output of the following C code?
      int arr[6] = {5, 10, 15, 20, 25, 30};
      int n = 6;
      int mid = n / 2;
      for (int i = mid; i < n - 1; i++) {
          arr[i] = arr[i + 1];
      }
      n--;
      for (int i = 0; i < n; i++) {
          printf("%d ", arr[i]);
      }
      medium
      A. 5 10 15 20 25 30
      B. 5 10 15 20 30
      C. 5 10 15 25 30
      D. 5 10 20 25 30

      Solution

      1. Step 1: Calculate middle index and deletion

        n=6, mid=3. Element at index 3 is 20. It will be deleted.
      2. Step 2: Shift elements after index 3 left by one

        arr[3] = arr[4] (25), arr[4] = arr[5] (30), n becomes 5.
      3. Step 3: Print updated array

        Elements: 5, 10, 15, 25, 30
      4. Final Answer:

        5 10 15 25 30 -> Option C
      5. Quick Check:

        Deleted middle element, shifted right elements left [OK]
      Hint: Delete middle, shift right elements left, print first n-1 elements [OK]
      Common Mistakes:
      • Printing original array size
      • Not shifting elements correctly
      • Deleting wrong index
      4. Find the error in this code snippet that deletes the middle element from an array arr of size n:
      int mid = n / 2;
      for (int i = 0; i < mid; i++) {
          arr[i] = arr[i + 1];
      }
      n--;
      medium
      A. Middle index calculation is wrong, should be (n-1)/2
      B. Loop shifts elements before middle, should shift after middle
      C. Array size decrement should be before loop
      D. No error, code is correct

      Solution

      1. Step 1: Analyze loop range and shifting direction

        The loop runs from 0 to mid-1, shifting elements before middle left, which is incorrect.
      2. Step 2: Correct shifting after middle index

        To delete middle element, shift elements from middle index to end left by one, not before middle.
      3. Final Answer:

        Loop shifts elements before middle, should shift after middle -> Option B
      4. Quick Check:

        Shift elements after middle, not before [OK]
      Hint: Shift elements after middle, not before [OK]
      Common Mistakes:
      • Shifting elements before middle
      • Wrong loop boundaries
      • Not reducing array size
      5. Given an array arr of size n where n is even, write the steps to delete the middle two elements and shift the rest. What will be the new array after deleting middle elements from {1, 2, 3, 4, 5, 6}?
      hard
      A. [1, 2, 5, 6]
      B. [1, 2, 3, 6]
      C. [1, 2, 4, 5, 6]
      D. [1, 3, 4, 5, 6]

      Solution

      1. Step 1: Identify middle two indices for even-sized array

        For n=6, middle two indices are 2 and 3 (0-based), elements 3 and 4.
      2. Step 2: Delete these two elements and shift remaining elements left

        Shift elements from index 4 and 5 left by two positions: 5 moves to index 2, 6 moves to index 3. Reduce size by 2.
      3. Step 3: New array after deletion

        Array becomes [1, 2, 5, 6]
      4. Final Answer:

        [1, 2, 5, 6] -> Option A
      5. Quick Check:

        Delete two middle elements, shift right elements left by two [OK]
      Hint: Delete two middles, shift right elements left by two [OK]
      Common Mistakes:
      • Deleting only one middle element
      • Shifting elements incorrectly
      • Not reducing array size by two
      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