Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create SetSTL.cpp #126

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions Programs/SetSTL.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@



#include <iostream>
#include <iterator>
#include <set>

using namespace std;

int main()
{
// empty set container
set<int, greater<int> > 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<int, greater<int> >::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<int> 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;
}