How to Filter Elements of a List based on a Condition in C++ - Step by Step Examples
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,
- We create a list named
numbers
with integer values. - We use the
remove_if
algorithm along with a lambda expression to remove elements that do not satisfy the condition. - We use the
erase
method to erase the removed elements. - 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,
- We create a list named
words
with string values. - We use the
remove_if
algorithm along with a lambda expression to remove elements that do not satisfy the condition. - We use the
erase
method to erase the removed elements. - 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
- How to create an Empty List in C++ ?
- How to Initialize a List in C++ ?
- How to Get Length of a List in C++ ?
- How to create a List of size N in C++ ?
- How to create a List of Numbers from 1 to N in C++ ?
- How to create a List of Strings in C++ ?
- How to create a List of Empty Lists in C++ ?
- How to Access Elements in a List in C++ ?
- How to get Element in a List at a Specific Index in C++ ?
- How to get First Element in a List in C++ ?
- How to get Last Element in a List in C++ ?
- How to Iterate Over a List in C++ ?
- How to Iterate Over a List with Index in C++ ?
- How to Iterate Over a List in Reverse Order in C++ ?
- How to check if a List is Empty in C++ ?
- How to check if a List is Not Empty in C++ ?
- How to get Sub List in C++ ?
- How to get the Index of Specified Element in a List in C++ ?
- How to check if a Specific Element is present in the List in C++ ?
- How to check if a List contains all the elements of Another List in C++ ?
- How to count the Number of Occurrences of Specific Element in the List in C++ ?
- How to find the Element with Maximum Number of Occurrences in a List in C++ ?
- How to find the Element with Minimum Number of Occurrences in a List in C++ ?
- How to Sort a List in C++ ?
- How to Sort a List in Ascending Order in C++ ?
- How to Sort a List in Descending Order in C++ ?
- How to create a Two Dimensional List in C++ ?
- How to Iterate over a Two Dimensional List in C++ ?
- How to create a Three Dimensional List in C++ ?
- How to Copy a List in C++ ?
- How to deep Copy a List in C++ ?
- How to Split a List in C++ ?
- How to Join Lists in C++ ?
- How to Append an Element to a List in C++ ?
- How to Insert an Element at Specific Index in a List in C++ ?
- How to Append a List to another List in C++ ?
- How to Concatenate Two Lists in C++ ?
- How to check if Two Lists are Equal in C++ ?
- How to check if Two Lists have Same Elements (Regardless of Order) in C++ ?
- How to Convert a List of Integers to a List of Strings in C++ ?
- How to Convert a List of Strings to a List of Integers in C++ ?
- How to Convert a List of Floats to a List of Strings in C++ ?
- How to Convert a List of Strings to a List of Floats in C++ ?
- How to Reverse a List in C++ ?
- How to Shuffle a List in C++ ?
- How to Slice a List in C++ ?
- How to Slice First N Elements from a List in C++ ?
- How to Slice Last N Elements from a List in C++ ?
- How to Rotate Elements in a List in C++ ?
- How to Filter Elements of a List based on a Condition in C++ ?
- How to Remove Duplicates in a List in C++ ?
- How to Remove Element at a Specific Index from a List in C++ ?
- How to Remove Specific Element from a List in C++ ?
- How to Remove Element from List based on a Condition in C++ ?
- How to Sort a List of Strings in Dictionary Order in C++ ?
- How to Concatenate Strings in List in C++ ?
- How to create a List of Lists in C++ ?
- How to create a List of Dictionaries in C++ ?
- How to create a List of Sets in C++ ?