set stl
Брзо научите СЕТ у СТЛ помоћу једноставних примера.
Детаљно ћемо погледати СТЛ контејнер - Сетови, овде у овом упутству. Комплети су асоцијативни контејнери са јединственим елементима у одређеном редоследу.
Вредност елемента у скупу је уједно и кључ који му се користи за приступ. Сви елементи у сету морају бити јединствени. Не можемо мењати елементе у скупу након што су уметнути. Међутим, можемо уметнути или избрисати елементе.
=> Овде погледајте комплетну Ц ++ БЕСПЛАТНУ серију обука.
Шта ћете научити:
СЕТ У СТЛ
Да бисмо применили сет, потребно је да укључимо заглавље у наш програм.
како ухватити грешке током аутоматизације израде
#include
Скуп можемо прогласити на следећи начин:
set myset;
На пример,ако желимо сет, мисет елемента са целобројним типом, онда можемо скуп декларирати као:
set myset;
Операције на сету
Контејнер за сет такође подржава сличне операције попут мапе о којој смо већ разговарали. Следе неке од основних операција које подржава скуп.
- започети : Враћа итератор на први елемент скупа.
- крај : Враћа итератор елементу који следи последњи елемент скупа.
- уметак : Убацује нови елемент у скуп.
Операција уметања комплета има три варијанте:
-
-
- уметак (елемент): Ово директно убацује елемент у скуп и преуређује га.
- уметак (положај, наговештај): Овде одређујемо положај за уметање елемента.
- инсерт (итератор.бегин (), итератор.енд ()): У овој варијацији можемо директно убацити опсег у скуп попут низа или другог скупа.
-
- избрисати : Уклања елемент из скупа.
- величина : Враћа величину скупа.
- мак_сизе : Враћа максималну величину коју сет може да садржи.
- празна : Приказује да ли је скуп празан.
- јасно : Уклања све елементе из скупа.
- наћи : Проналази елемент у скупу. Ако је елемент пронађен, враћа итератор том елементу у скупу. Ако није пронађен, враћа итератор на крај скупа.
Доље је дат програм који показује употребу неких важних функција СЕТ-а.
#include #include #include using namespace std; int main() { set myset; myset.insert(140); myset.insert(130); myset.insert(160); myset.insert(120); cout<<'
Size of myset: '< Излаз:
Величина скупа: 4
Скуп скупова је: 120 130 140 160
Након уметања 100, скуп скупова је: 100 120 130 140 160
Након уметања низа арр, скуп мисет је: 100 110 120 130 140 150 160
Након уклањања елемената мањих од 130, мисет: 130 140 150 160

Као што је приказано у горњем излазу, креирамо скуп користећи једноставну функцију уметања.
најбољи преузимање музике за андроид
Даље, убацујемо елемент 100 у скуп користећи другу варијанту функције уметања прослеђујући референцу итератора и вредност елемента 100. Видимо да се једном уметање скупа преуређује и редослед елемената одржава.
Следеће убацујемо низ {110,150,150} помоћу функције уметања. Ако видите да је излаз сета приказан након уметања низа, видимо да је у скуп унета само једна вредност 150. То је зато што су сви елементи у скупу јединствени.
Такође приказујемо величину комплета. Даље, помоћу функције проналажења проналазимо елементе мање од 130, а затим позивамо функцију брисања да бисмо уклонили те елементе. Затим приказујемо резултујући скуп.
Овде се ради о постављеном контејнеру. Даље ћемо разговарати о мултисету који је продужетак постављеног контејнера.
Мултисет
Мултисет је асоцијативни контејнер сличан постављеном у свим аспектима, осим једне разлике, тј. Више елемената може имати исту вредност.
Изјава за мултисет је следећа:
multiset mset;
Многобројни целобројни елементи могу се декларисати као:
мултисет мсет;
Разне операције које подржава мултисет сличне су онима које подржава скуп.
Сада ћемо директно разговарати о примеру више група који показује операцију коју користи.
#include #include #include using namespace std; int main() { multiset myset; myset.insert(11); myset.insert(13); myset.insert(13); myset.insert(10); cout<<'
Size of myset: '< Излаз:
Величина скупа: 4
Након уметања четири елемента, мултисет мисет је: 10 11 13
13
Након уметања 15, мултисет мисет је: 10 11 13 13 15
Након уклањања елемената мањих од 15, мисет: 15
Снимак заслона резултата дат је у наставку:

Као што је приказано у горњем излазу, у почетку у мултисет уносимо четири елемента од којих су два иста. Али за разлику од скупа, ови елементи су успешно уметнути у мултисет. Затим убацујемо други елемент 15 пружајући положај кроз итератор, који је успешно уметнут.
Даље, у мултисету налазимо елементе мање од 15 и позивамо брисање функције на тим елементима. На крају приказујемо мултисет.
Неуређени сет
До сада смо разговарали о сету и мултисету у овом упутству.
Иако је скуп уређена секвенца јединствених кључева, имамо још један асоцијативни контејнер који се назива „неуређени скуп“, а то је скуп кључева или елемената који се чувају у било којем редоследу. То значи да су елементи у неуређеном скупу ‘неуређени’.
Слично несређеној мапи, неуређени скуп се такође примењује помоћу хеш табеле где се кључеви хеширају у индексе хеш табеле. Због употребе хеш табеле није могуће одржавати редослед елемената за разлику од скупа који користи уравнотежену структуру стабла.
Заглавље за примену неуређеног скупа је.
#include
Неуређену мапу целог броја проглашавамо на следећи начин:
Unordered_set uset;
Операције које подржава унордеред_сет су сличне онима које подржава унордеред_мап о чему се говори у нашим водичима на мапи.
Доље је дат пример који приказује разне операције на унордеред_сет.
#include #include using namespace std; int main() { unordered_set uset; unordered_set :: iterator it; for(int i=0;i<5;i++){ uset.insert(i+2); } cout<<'
Size of uset: '< Излаз:
Величина употребе: 5
Елементи у неуређеном сету су: 99 39 6 5 26 4 3 13 2
Пронађен кључ = 13
умап буцкет_цоунт: 11
величина канте: 2
Снимак екрана горњег излаза дат је у наставку.

Као што је приказано у горњем излазу, прво убацујемо 5 елемената у неуређени скуп, а затим убацујемо још 4 елемента који демонстрирају употребу варијација функције уметања. Затим приказујемо садржај неуређеног скупа.
Даље користимо функцију проналажења да бисмо пронашли да ли је кључ = 13 присутан у неуређеном скупу или не.
После овога, демонстрирамо још две функције „буцкет_цоунт“ и „буцкет_сизе“. Ове функције су повезане са унутрашњом имплементацијом неуређене мапе.
Овај контејнер такође подржава остале функције итератора и функције попут мак_сизе, цлеар, брисање, празно итд., Што је слично осталим СТЛ контејнерима.
Закључак
Овим смо дошли до краја нашег упутства за СЕТ у СТЛ-у.
Надамо се да ће вам теме обрађене у оквиру ових туторијала за СТЛ помоћи да стекнете разумевање СТЛ-а и његових различитих контејнера.
најбољи бесплатни софтвер за резервне копије за мац
=> Овде прочитајте популарне серије обуке за Ц ++.
Препоручено читање