Bird
Raised Fist0
DSA C++programming~15 mins

Array Deletion at End in DSA C++ - Build from Scratch

Choose your learning style10 modes available
Array Deletion at End
📖 Scenario: You are managing a list of tasks to do today. Sometimes, you finish the last task and want to remove it from your list.
🎯 Goal: Build a simple program that stores a list of tasks in an array and removes the last task when done.
📋 What You'll Learn
Create an array called tasks with exactly 5 task names as strings
Create an integer variable called size to store the current number of tasks
Write code to remove the last task by decreasing size by 1
Print the tasks remaining in the array after deletion using a for loop
💡 Why This Matters
🌍 Real World
Managing lists like tasks, shopping items, or appointments often requires adding or removing items from the end.
💼 Career
Understanding how to manipulate arrays and track their size is fundamental for software development and data handling.
Progress0 / 4 steps
1
Create the tasks array
Create a string array called tasks with these exact values: "Laundry", "Dishes", "Homework", "Groceries", "Call Mom".
DSA C++
Hint

Use std::string tasks[5] = { ... }; to create the array with exact task names.

2
Set the size variable
Create an integer variable called size and set it to 5 to represent the number of tasks in the array.
DSA C++
Hint

Use int size = 5; to store the number of tasks.

3
Remove the last task
Decrease the value of size by 1 to remove the last task from the list.
DSA C++
Hint

Use size = size - 1; to reduce the number of tasks by one.

4
Print remaining tasks
Use a for loop with int i = 0 to i < size to print each task in tasks on its own line.
DSA C++
Hint

Use for (int i = 0; i < size; i++) and std::cout << tasks[i] << std::endl; to print tasks.

Practice

(1/5)
1. What happens to the size of an array when you delete an element from the end in a dynamic array?
easy
A. The size decreases by one
B. The size remains the same
C. The size increases by one
D. The size becomes zero

Solution

  1. Step 1: Understand dynamic array size behavior

    When an element is deleted from the end, the array size reduces by one because one element is removed.
  2. Step 2: Confirm size change after deletion

    Deleting from the end does not affect other elements, only reduces size by one.
  3. Final Answer:

    The size decreases by one -> Option A
  4. Quick Check:

    Size after deletion = original size - 1 [OK]
Hint: Deleting at end reduces size by one [OK]
Common Mistakes:
  • Thinking size remains same after deletion
  • Assuming size increases after deletion
  • Confusing deletion at end with deletion at start
2. Which of the following is the correct syntax to delete the last element from a vector named vec in C++?
easy
A. vec.erase_end();
B. vec.delete_last();
C. vec.remove_end();
D. vec.pop_back();

Solution

  1. Step 1: Recall vector deletion syntax

    The standard method to remove the last element from a vector in C++ is pop_back().
  2. Step 2: Verify other options

    Other methods like delete_last(), remove_end(), and erase_end() do not exist in C++ STL vector.
  3. Final Answer:

    vec.pop_back(); -> Option D
  4. Quick Check:

    Use pop_back() to delete last element [OK]
Hint: Use pop_back() to remove last element in vector [OK]
Common Mistakes:
  • Using non-existent methods like delete_last()
  • Confusing erase() with erase_end()
  • Trying to use remove_end() which is invalid
3. What will be the output of the following C++ code?
std::vector<int> v = {10, 20, 30, 40};
v.pop_back();
for(int x : v) std::cout << x << " ";
medium
A. 10 20 30 40
B. 20 30 40
C. 10 20 30
D. 10 20 40

Solution

  1. Step 1: Understand pop_back effect on vector

    pop_back() removes the last element, which is 40 in this vector.
  2. Step 2: Print remaining elements

    After removal, vector contains 10, 20, 30. Loop prints these with spaces.
  3. Final Answer:

    10 20 30 -> Option C
  4. Quick Check:

    Last element removed, output = 10 20 30 [OK]
Hint: pop_back() removes last element before printing [OK]
Common Mistakes:
  • Printing original vector without deletion
  • Confusing which element is removed
  • Forgetting pop_back() modifies vector
4. Identify the error in the following code that attempts to delete the last element of an array:
int arr[3] = {1, 2, 3};
arr.pop_back();
medium
A. pop_back() deletes first element, not last
B. pop_back() is not a member of built-in arrays
C. Array size is zero, cannot delete
D. No error, code is correct

Solution

  1. Step 1: Check array type and methods

    Built-in arrays in C++ do not have member functions like pop_back().
  2. Step 2: Understand correct usage

    pop_back() is a method of std::vector, not raw arrays.
  3. Final Answer:

    pop_back() is not a member of built-in arrays -> Option B
  4. Quick Check:

    pop_back() only works with vectors, not arrays [OK]
Hint: pop_back() works only on vectors, not raw arrays [OK]
Common Mistakes:
  • Assuming pop_back() works on raw arrays
  • Ignoring that arrays have fixed size
  • Thinking pop_back() deletes first element
5. You have a vector v with elements {5, 10, 15, 20, 25}. You want to delete the last two elements and then print the vector. Which code snippet correctly does this?
hard
A. v.erase(v.end()-2, v.end()); for(auto x : v) std::cout << x << ' ';
B. v.pop_back(); for(auto x : v) std::cout << x << ' ';
C. v.remove_end(); v.remove_end(); for(auto x : v) std::cout << x << ' ';
D. v.pop_back(2); for(auto x : v) std::cout << x << ' ';

Solution

  1. Step 1: Understand methods to delete multiple elements

    pop_back() removes only one element at a time. To remove two, it must be called twice. erase() can remove a range efficiently.
  2. Step 2: Analyze the snippets

    The snippet v.erase(v.end()-2, v.end()); for(auto x : v) std::cout << x << ' '; correctly removes the last two elements. The snippet with a single v.pop_back(); removes only one element. remove_end() does not exist. pop_back(2) uses invalid syntax.
  3. Final Answer:

    v.erase(v.end()-2, v.end()); for(auto x : v) std::cout << x << ' '; -> Option A
  4. Quick Check:

    erase() with range removes last two elements efficiently [OK]
Hint: Use erase(end()-2, end()) to delete last two elements [OK]
Common Mistakes:
  • Using pop_back() only once instead of twice
  • Using non-existent remove_end() method
  • Not knowing erase() can remove ranges
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