From 49d2ce7ef600514b92ecf91e8494c215222e7976 Mon Sep 17 00:00:00 2001 From: Sumanth Bajjuri <73301202+SumanthBajjuri07@users.noreply.github.com> Date: Fri, 15 Oct 2021 01:21:13 +0530 Subject: [PATCH] Create SetSTL.cpp --- Programs/SetSTL.cpp | 83 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Programs/SetSTL.cpp diff --git a/Programs/SetSTL.cpp b/Programs/SetSTL.cpp new file mode 100644 index 0000000..0e31367 --- /dev/null +++ b/Programs/SetSTL.cpp @@ -0,0 +1,83 @@ + + + +#include +#include +#include + +using namespace std; + +int main() +{ + // empty set container + set > s1; + + // insert elements in random order + s1.insert(40); + s1.insert(30); + s1.insert(60); + s1.insert(20); + s1.insert(50); + + // only one 50 will be added to the set + s1.insert(50); + s1.insert(10); + + // printing set s1 + set >::iterator itr; + cout << "\nThe set s1 is : \n"; + for (itr = s1.begin(); itr != s1.end(); itr++) + { + cout << *itr<<" "; + } + cout << endl; + + // assigning the elements from s1 to s2 + set s2(s1.begin(), s1.end()); + + // print all elements of the set s2 + cout << "\nThe set s2 after assign from s1 is : \n"; + for (itr = s2.begin(); itr != s2.end(); itr++) + { + cout << *itr<<" "; + } + cout << endl; + + // remove all elements up to 30 in s2 + cout + << "\ns2 after removal of elements less than 30 :\n"; + s2.erase(s2.begin(), s2.find(30)); + for (itr = s2.begin(); itr != s2.end(); itr++) { + cout <<*itr<<" "; + } + + // remove element with value 50 in s2 + int num; + num = s2.erase(50); + cout << "\ns2.erase(50) : "; + cout << num << " removed\n"; + for (itr = s2.begin(); itr != s2.end(); itr++) + { + cout <<*itr<<" "; + } + + cout << endl; + + // lower bound and upper bound for set s1 + cout << "s1.lower_bound(40) : \n" + << *s1.lower_bound(40) + << endl; + cout << "s1.upper_bound(40) : \n" + << *s1.upper_bound(40) + << endl; + + // lower bound and upper bound for set s2 + cout << "s2.lower_bound(40) :\n" + << *s2.lower_bound(40) + << endl; + cout << "s2.upper_bound(40) : \n" + << *s2.upper_bound(40) + << endl; + + return 0; +}