Ang isa sa mga uri ng istraktura ng data na direktang sagisag ng mga entity na matematika sa agham ng computer ay mga set. Ang mga operasyon sa kanila ay madalas na pinagbabatayan ng iba't ibang mga algorithm. Ang magkakaibang mga wika ng programa ay may kani-kanilang paraan para sa paglalarawan ng mga hanay.
Kailangan
- - kapaligiran sa pag-unlad;
- - tagasalin mula sa napiling wika ng programa.
Panuto
Hakbang 1
Ilarawan ang hanay gamit ang wika ng programa, kung magagamit. Halimbawa, sa wikang Pascal mayroong isang hanay na konstruksyon na nagbibigay-daan sa iyo upang ideklara ang mga kaukulang uri. Totoo, ang dami ng naturang mga hanay ay hindi dapat lumagpas sa 256 na mga elemento. Ang isang halimbawa ng mga itinakda na uri ng deklarasyon ay maaaring magmukhang ganito:
uri
AZLetters = hanay ng 'A'.. 'Z';
AllLetters = hanay ng char;
Ang mga variable at pare-pareho ng mga uri na nagtatakda ay idineklara sa karaniwang paraan. Sa kasong ito, maaaring magamit ang mga itinakdang literal para sa pagsisimula. Halimbawa:
Const
LettersSet1: AZLetters = ['A', 'B', 'C'];
Hakbang 2
Gumamit ng mga kakayahan ng karaniwang mga aklatan o modyul upang ilarawan ang mga hanay. Kaya, ang library ng template ng C ++, na dapat ibigay sa tagatala, ay nagsasama ng isang template para sa itinakdang klase ng lalagyan na nagpapatupad ng pag-andar ng mga hanay:
template <
class Key, Mga Katangian sa klase = mas kaunti, class Allocator = tagapaglaan
set ng klase
Tulad ng nakikita mo mula sa listahan, ang mga argumento ng itinakdang template ay: ang uri ng data ng mga elemento ng hanay, ang uri ng gumaganang bagay upang matukoy ang pagkakasunud-sunod ng mga elemento sa hanay, at ang uri ng tagapaglaan ng memorya. Sa kasong ito, ang unang argumento lamang ang kinakailangan (tulad ng iba pang dalawa, ang standard na predicate ng binary na mas kaunti at ang karaniwang tagapaglaan ay ginagamit bilang default).
Hakbang 3
Mag-apply ng mga klase o template ng klase na ginamit sa pagbuo ng mga balangkas na nagpapatupad ng pag-andar ng pagtatrabaho sa mga set, kung mayroon man. Ang isang halimbawa ng naturang tool ay ang klase ng template ng QSet ng module na QtCore ng Qt library. Ang mga kakayahan nito ay katulad ng sa itinakdang lalagyan ng STL na inilarawan sa nakaraang hakbang.
Hakbang 4
Ilarawan ang hanay gamit ang iyong sariling mga paraan ng pagpapatupad. Gumamit ng mga bit flag, nakaimbak sa mga nakaayos na haba na hanay, para sa mga hanay ng mga elemento ng mga simpleng uri at maliit na sukat. Magpatupad ng isang itinakdang klase ng lalagyan para sa mga kumplikadong uri ng data. Bilang batayan, maaari mong gawin ang pag-andar ng mga naka-uugnay o pag-hash na nauugnay na mga array. Ito, sa turn, ay maaaring itayo batay sa self-balancing ng self-binary na mga puno ng paghahanap (halimbawa, mga pulang-itim na puno).