How to Filter Elements of a List based on a Condition in C++


How to Filter Elements of a List based on a Condition in C++ ?

Answer

To filter elements of a list based on a condition in C++, you can use the remove_if algorithm along with a lambda expression.



✐ Examples

1 Filter Integers Greater Than a Threshold

In this example,

  1. We create a list named numbers with integer values.
  2. We use the remove_if algorithm along with a lambda expression to remove elements that do not satisfy the condition.
  3. We use the erase method to erase the removed elements.
  4. Finally, we print the filtered list to standard output.

C++ Program

#include <iostream>
#include <list>
#include <algorithm>

int main() {
    std::list<int> numbers = {1, 2, 3, 4, 5};
    int threshold = 3;
    numbers.remove_if([&threshold](int num) { return num <= threshold; });
    for (int num : numbers) {
        std::cout << num << " ";
    }
    return 0;
}

Output

4 5

2 Filter Strings Containing a Substring

In this example,

  1. We create a list named words with string values.
  2. We use the remove_if algorithm along with a lambda expression to remove elements that do not satisfy the condition.
  3. We use the erase method to erase the removed elements.
  4. Finally, we print the filtered list to standard output.

C++ Program

#include <iostream>
#include <list>
#include <algorithm>
#include <string>

int main() {
    std::list<std::string> words = {"apple", "banana", "cherry", "date", "elderberry"};
    std::string substring = "erry";
    words.remove_if([&substring](const std::string& word) { return word.find(substring) == std::string::npos; });
    for (const std::string& word : words) {
        std::cout << word << " ";
    }
    return 0;
}

Output

cherry elderberry 

Summary

In this tutorial, we learned How to Filter Elements of a List based on a Condition in C++ language with well detailed examples.




More C++ Lists Tutorials

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