//Run Code To Demonstrate use of set.erase()
#include<iostream>
#include<set>
using namespace std;
void printSet(set<int> &A){
set<int>::iterator it = A.begin();
for(; it!=A.end(); it++){
cout<<*it<<" ";
}
cout<<endl;
}
int main(){
// Create a set object holding integers
set<int> A {1,2,3,4,5,6,7,8,9,10};
// It will delete element in 1st index
printf("ORIGINAL - \n");
printSet(A);
auto it1 = A.begin();
advance(it1, 3);
A.erase(it1);
// It will delete elements from 2nd index it 4th index
printf("AFTER DELETING 3RD (ZERO INDEXING) ELEMENT - \n");
printSet(A);
it1 = A.begin();
advance(it1, 2);
auto it2 = A.begin();
advance(it2, 5);
A.erase(it1, it2);
printf("AFTER DELETING 2ND TO 4TH (ZERO INDEXING) ELEMENTS - \n");
printSet(A);
return 0;
}
Ly9SdW4gQ29kZSBUbyBEZW1vbnN0cmF0ZSB1c2Ugb2Ygc2V0LmVyYXNlKCkKI2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHNldD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgcHJpbnRTZXQoc2V0PGludD4gJkEpewogICAgc2V0PGludD46Oml0ZXJhdG9yIGl0ID0gQS5iZWdpbigpOwogICAgZm9yKDsgaXQhPUEuZW5kKCk7IGl0KyspewogICAgICAgIGNvdXQ8PCppdDw8IiAiOwogICAgfQogICAgY291dDw8ZW5kbDsgICAgCn0KaW50IG1haW4oKXsKICAgIC8vIENyZWF0ZSBhIHNldCBvYmplY3QgaG9sZGluZyBpbnRlZ2VycwogICAgc2V0PGludD4gQSB7MSwyLDMsNCw1LDYsNyw4LDksMTB9OwogICAgLy8gSXQgd2lsbCBkZWxldGUgZWxlbWVudCBpbiAxc3QgaW5kZXgKICAgIHByaW50ZigiT1JJR0lOQUwgLSBcbiIpOwogICAgcHJpbnRTZXQoQSk7CiAgICBhdXRvIGl0MSA9IEEuYmVnaW4oKTsKICAgIGFkdmFuY2UoaXQxLCAzKTsKICAgIEEuZXJhc2UoaXQxKTsKICAgIC8vIEl0IHdpbGwgZGVsZXRlIGVsZW1lbnRzIGZyb20gMm5kIGluZGV4IGl0IDR0aCBpbmRleAogICAgcHJpbnRmKCJBRlRFUiBERUxFVElORyAzUkQgKFpFUk8gSU5ERVhJTkcpIEVMRU1FTlQgLSBcbiIpOwogICAgcHJpbnRTZXQoQSk7CiAgICBpdDEgPSBBLmJlZ2luKCk7CiAgICBhZHZhbmNlKGl0MSwgMik7CiAgICBhdXRvIGl0MiA9IEEuYmVnaW4oKTsKICAgIGFkdmFuY2UoaXQyLCA1KTsKICAgIEEuZXJhc2UoaXQxLCBpdDIpOwogICAgcHJpbnRmKCJBRlRFUiBERUxFVElORyAyTkQgVE8gNFRIIChaRVJPIElOREVYSU5HKSBFTEVNRU5UUyAtIFxuIik7CiAgICBwcmludFNldChBKTsKICAgIHJldHVybiAwOwp9