How to Remove Specific Item from a Vector in C++


How to Remove Specific Item from a Vector in C++ ?

Answer

To remove a specific item from a vector in C++, you can use the erase method along with the std::remove algorithm.



✐ Examples

1 Remove Specific Item Using std::remove and erase

In this example,

  1. We start by including the necessary headers: <vector> and <algorithm>, and <iostream>.
  2. We create a vector named vec and initialize it with some integer values.
  3. We specify the item we want to remove and store it in a variable named item_to_remove.
  4. We use the std::remove algorithm to shift all elements that are not equal to item_to_remove to the front of the vector, and return an iterator to the new logical end of the vector.
  5. We use the erase method to remove the elements from the logical end to the actual end of the vector.
  6. Finally, we print the modified vector to standard output to see the result.

C++ Program

#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;iostream&gt;

int main() {
    std::vector&lt;int&gt; vec = {10, 20, 30, 40, 50};
    int item_to_remove = 30;
    vec.erase(std::remove(vec.begin(), vec.end(), item_to_remove), vec.end());
    std::cout &lt;&lt; "Vector after removing the item " &lt;&lt; item_to_remove &lt;&lt; ": ";
    for (int val : vec) {
        std::cout &lt;&lt; val &lt;&lt; " ";
    }
    std::cout &lt;&lt; std::endl;
    return 0;
}

Output

Vector after removing the item 30: 10 20 40 50

2 Remove Specific Item Using a Custom Function

In this example,

  1. We start by including the necessary headers: <vector> and <algorithm>, and <iostream>.
  2. We define a custom function named removeItem that takes a reference to a vector and the item to remove as parameters.
  3. Inside the function, we use the std::remove algorithm to shift all elements that are not equal to the specified item to the front of the vector, and return an iterator to the new logical end of the vector.
  4. We use the erase method to remove the elements from the logical end to the actual end of the vector.
  5. We create a vector named vec and initialize it with some integer values.
  6. We specify the item we want to remove and store it in a variable named item_to_remove.
  7. We call the removeItem function, passing vec and item_to_remove as arguments.
  8. Finally, we print the modified vector to standard output to see the result.

C++ Program

#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;iostream&gt;

void removeItem(std::vector&lt;int&gt; &vec, int item_to_remove) {
    vec.erase(std::remove(vec.begin(), vec.end(), item_to_remove), vec.end());
}

int main() {
    std::vector&lt;int&gt; vec = {10, 20, 30, 40, 50};
    int item_to_remove = 30;
    removeItem(vec, item_to_remove);
    std::cout &lt;&lt; "Vector after removing the item " &lt;&lt; item_to_remove &lt;&lt; ": ";
    for (int val : vec) {
        std::cout &lt;&lt; val &lt;&lt; " ";
    }
    std::cout &lt;&lt; std::endl;
    return 0;
}

Output

Vector after removing the item 30: 10 20 40 50

Summary

In this tutorial, we learned How to Remove Specific Item from a Vector in C++ language with well detailed examples.




More C++ Vectors Tutorials

  1. How to create an Empty Vector in C++ ?
  2. How to Initialize a Vector in C++ ?
  3. How to Get Length of a Vector in C++ ?
  4. How to create a Vector of Size N in C++ ?
  5. How to create a Vector of Numbers from 1 to N in C++ ?
  6. How to create a Vector of Integers in C++ ?
  7. How to create a Vector of Strings in C++ ?
  8. How to create a Vector of Empty Vectors in C++ ?
  9. How to Access Items in a Vector in C++ ?
  10. How to get Item in a Vector at a Specific Index in C++ ?
  11. How to get First Item in a Vector in C++ ?
  12. How to get Last Item in a Vector in C++ ?
  13. How to Iterate Over a Vector in C++ ?
  14. How to Iterate Over a Vector with Index in C++ ?
  15. How to Iterate Over a Vector in Reverse Order in C++ ?
  16. How to check if a Vector is Empty in C++ ?
  17. How to check if a Vector is Not Empty in C++ ?
  18. How to get Sub Vector in C++ ?
  19. How to get the Index of Specified Item in a Vector in C++ ?
  20. How to check if a Specific Item is present in the Vector in C++ ?
  21. How to check if a Vector contains all the items of Another Vector in C++ ?
  22. How to count the Number of Occurrences of Specific Item in the Vector in C++ ?
  23. How to find the Item with Maximum Number of Occurrences in a Vector in C++ ?
  24. How to find the Item with Minimum Number of Occurrences in a Vector in C++ ?
  25. How to Sort a Vector in C++ ?
  26. How to Sort a Vector in Ascending Order in C++ ?
  27. How to Sort a Vector in Descending Order in C++ ?
  28. How to create a Two Dimensional Vector in C++ ?
  29. How to Iterate over a Two Dimensional Vector in C++ ?
  30. How to create a Three Dimensional Vector in C++ ?
  31. How to Copy a Vector in C++ ?
  32. How to Split a Vector in C++ ?
  33. How to Join Vectors in C++ ?
  34. How to Append an Item to a Vector in C++ ?
  35. How to Insert an Item at Specific Index in a Vector in C++ ?
  36. How to Append a Vector to another Vector in C++ ?
  37. How to Concatenate Two Vectors in C++ ?
  38. How to check if Two Vectors are Equal in C++ ?
  39. How to check if Two Vectors have Same Items (Regardless of Order) in C++ ?
  40. How to Convert a Vector of Integers to a Vector of Strings in C++ ?
  41. How to Convert a Vector of Strings to a Vector of Integers in C++ ?
  42. How to Convert a Vector of Floats to a Vector of Strings in C++ ?
  43. How to Convert a Vector of Strings to a Vector of Floats in C++ ?
  44. How to Reverse a Vector in C++ ?
  45. How to Shuffle a Vector in C++ ?
  46. How to Slice a Vector in C++ ?
  47. How to get First N Items from a Vector in C++ ?
  48. How to get Last N Items from a Vector in C++ ?
  49. How to Rotate Items in a Vector in C++ ?
  50. How to Filter Items of a Vector based on a Condition in C++ ?
  51. How to Remove Duplicates in a Vector in C++ ?
  52. How to Remove Item at a Specific Index from a Vector in C++ ?
  53. How to Remove Specific Item from a Vector in C++ ?
  54. How to Remove Items from Vector based on a Condition in C++ ?
  55. How to Sort a String Vector in Dictionary Order in C++ ?
  56. How to Concatenate Strings in Vector in C++ ?
  57. How to create a Vector of Vectors in C++ ?