How to remove elements from a list using based on criterion (if statement) in C++

1 Answer

0 votes
#include <iostream>
#include <list>

using std::cout;
using std::endl;

int main() 
{
	std::list<int> lst({ 2, 3, 4, 5, 8, 9, 10, 12, 16, 20 });

	std::list<int>::iterator it = lst.begin();
	
	while (it != lst.end()) 
	{
		if ((*it) % 4 == 0) {
			it = lst.erase(it);
		}
		else
			it++;
	}

	for (int val : lst)
		cout << val << endl;

	return 0;
}

/*
run:

2
3
5
9
10

*/

 



answered Feb 16, 2018 by avibootz

Related questions

1 answer 226 views
1 answer 234 views
1 answer 252 views
1 answer 250 views
1 answer 176 views
...