Set — контейнер, предназначенный для хранения уникальных элементов в определенном порядке.
#include "stdafx.h" #include <set> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Rus"); int massiv_test[]= {1,2,3,4,5}; std::set<int> first_set(massiv_test,massiv_test+2),second_set(massiv_test,massiv_test+3); second_set.swap(first_set); for (std::set<int>::iterator it=second_set.begin(); it!=second_set.end(); ++it) { std::cout << ' ' << *it; } cout<<endl; int massiv[]= {1,5,7,3,23,45,17,73,33,58}; std::set<int> my_set(massiv,massiv+10); my_set.insert(71); my_set.erase(5); cout<<"Количество элементов "<<my_set.size()<<endl; for (std::set<int>::iterator it=my_set.begin(); it!=my_set.end(); ++it) { std::cout << ' ' << *it; } cout<<endl; for (std::set<int>::reverse_iterator rit=my_set.rbegin(); rit!=my_set.rend(); ++rit) { std::cout << ' ' << *rit; } cout<<endl; my_set.clear(); if(my_set.empty()){ cout<<"Empty"<<endl; } system("pause"); return 0; }
Результат работы программы Set на C++:
Пример работы с множеством на принадлежность
#include "stdafx.h" #include <iostream> #include <string> #include <set> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Rus"); set<char> set_example; string test_set="я7пыьФаSAФО3ав"; for(int count='а'; count<='я'; count++) { set_example.insert(count); } for(int count=0; count<test_set.length(); count++) { if(set_example.find(test_set[count])==set_example.end()) { cout<<"Элемент "<<test_set[count]<<" не принадлежит заданному множеству"<<endl; } else { cout<<"Элемент "<<test_set[count]<<" принадлежит заданному множеству"<<endl; } } system("pause"); return 0; }
Результат работы программы на C++ с множеством: