////////////////////////////////////////
// 2018/04/30 11:30:09
// multiet-erase
// removes elemeents
#include <iostream>
#include <set>
using namespace std;
void print(multiset<int, less<int>> s){
multiset<int, less<int>>::iterator it;
for (it = s.begin(); it != s.end(); it++){
cout << *it << " ";
}
cout << endl;
}
//======================
int main(){
int ary[] = { 1, 2, 3, 2, 3, 4, 8, 2, 5, 6 };
multiset<int, less<int>> s;
s.insert(ary, ary + 10);
print(s);
// erase all '2'
s.erase(2);
print(s);
multiset<int, less<int>>::iterator it;
it = s.find(5);
// erase '5'
s.erase(it);
print(s);
it = s.find(4);
s.erase(it);
print(s);
return 0;
}
/*
OUTPUT:
1 2 2 2 3 3 4 5 6 8
1 3 3 4 5 6 8
1 3 3 4 6 8
1 3 3 6 8
*/