Moja ya aina ya miundo ya data ambayo ni mfano halisi wa vyombo vya kihesabu katika sayansi ya kompyuta ni seti. Uendeshaji nao mara nyingi husimamia algorithms anuwai. Lugha tofauti za programu zina njia zao za kuelezea seti.
Muhimu
- - mazingira ya maendeleo;
- - mtafsiri kutoka kwa lugha ya programu iliyochaguliwa.
Maagizo
Hatua ya 1
Eleza seti hiyo ukitumia lugha ya programu, ikiwa inapatikana. Kwa mfano, katika lugha ya Pascal kuna seti ya ujenzi ambayo hukuruhusu kutangaza aina zinazofanana. Ukweli, ujazo wa seti kama hizo haupaswi kuzidi vitu 256. Mfano wa matamko ya aina iliyowekwa yanaweza kuonekana kama hii:
aina
AZLetters = seti ya 'A'.. 'Z';
AllLetters = seti ya char;
Vigeu na vichaka vya aina ambazo ni seti hutangazwa kwa njia ya kawaida. Katika kesi hii, seti za fasihi zinaweza kutumika kwa uanzishaji. Kwa mfano:
const
BaruaSet1: AZLetters = ['A', 'B', 'C'];
Hatua ya 2
Tumia uwezo wa maktaba ya kawaida au moduli kuelezea seti. Kwa hivyo, maktaba ya templeti ya C ++, ambayo inapaswa kutolewa na mkusanyaji, ni pamoja na templeti ya darasa la kontena lililowekwa ambalo hutimiza utendaji wa seti:
kiolezo <
Ufunguo wa darasa, Tabia za darasa = chini, darasa Allocator = mtoaji
seti ya darasa
Kama unavyoona kutoka kwa orodha, hoja za templeti iliyowekwa ni: aina ya data ya vitu vilivyowekwa, aina ya kitu kinachofanya kazi kuamua mpangilio wa vitu kwenye seti, na aina ya msambazaji wa kumbukumbu. Katika kesi hii, hoja ya kwanza tu inahitajika (kama hizo zingine mbili, kiashirio cha kawaida cha binary chini na mgawanyiko wa kawaida hutumiwa kwa chaguo-msingi).
Hatua ya 3
Tumia madarasa au templeti za darasa zinazotumiwa katika ukuzaji wa mifumo inayotekeleza utendaji wa kufanya kazi na seti, ikiwa ipo. Mfano wa zana kama hiyo ni darasa la templeti la QSet la moduli ya QtCore ya maktaba ya Qt. Uwezo wake ni sawa na ule wa chombo kilichowekwa cha STL kilichoelezewa katika hatua ya awali.
Hatua ya 4
Eleza seti kwa kutumia njia yako ya utekelezaji. Tumia bendera kidogo, zilizohifadhiwa katika safu za urefu uliowekwa, kwa seti ya vitu vya aina rahisi na saizi ndogo. Tekeleza darasa la kontena lililowekwa kwa aina ngumu za data. Kama msingi, unaweza kuchukua utendaji wa safu za ushirika au hashi. Kwa hiyo, inaweza kujengwa kwa msingi wa kusawazisha miti ya utaftaji wa kibinafsi (kwa mfano, miti nyekundu-nyeusi).