How to remove all negative values from unordered set in C++

1 Answer

0 votes
#include <iostream>  
#include <unordered_set>

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


void print(const unordered_set<int>& usset)
{
	for (const auto& element : usset) {
		cout << element << " ";
	}
	std::cout << std::endl;
}

int main()
{
	unordered_set<int> usset = { 11, -4, -30, 21, 99 };

	unordered_set<int>::iterator i;
	for (i = usset.begin(); i != usset.end();) 
	{
		if (*i < 0) 
			i = usset.erase(i);
		else 
			i++;
	}

	print(usset);

	return 0;
}

/*
run:

99 11 21

*/

 



answered Jan 13, 2018 by avibootz
edited Jan 15, 2018 by avibootz

Related questions

1 answer 277 views
1 answer 177 views
1 answer 229 views
1 answer 112 views
112 views asked Apr 7, 2020 by avibootz
...