Informatikada matematik shaxslarning bevosita mujassamlashuvi bo'lgan ma'lumotlar tuzilmalarining turlaridan biri bu to'plamlardir. Ular bilan operatsiyalar ko'pincha turli xil algoritmlarga asoslanadi. Turli xil dasturlash tillari to'plamlarni tavsiflash uchun o'z vositalariga ega.
Kerakli
- - rivojlanish muhiti;
- - tanlangan dasturlash tilidan tarjimon.
Ko'rsatmalar
1-qadam
Agar mavjud bo'lsa, dasturlash tili yordamida to'plamni tavsiflang. Masalan, Paskal tilida tegishli turlarini e'lon qilishga imkon beradigan to'plam tuzilishi mavjud. To'g'ri, bunday to'plamlarning hajmi 256 elementdan oshmasligi kerak. O'rnatilgan turdagi deklaratsiyalarning misoli quyidagicha ko'rinishi mumkin:
turi
AZLetters = 'A'.. 'Z' to'plami;
AllLetters = char to'plami;
To'plam bo'lgan o'zgaruvchilar va turlarning doimiylari odatdagi tarzda e'lon qilinadi. Bunday holda, boshlang'ich uchun o'rnatilgan literallardan foydalanish mumkin. Misol uchun:
konst
LettersSet1: AZLetters = ['A', 'B', 'C'];
2-qadam
To'plamlarni tavsiflash uchun standart kutubxonalar yoki modullarning imkoniyatlaridan foydalaning. Shunday qilib, kompilyator bilan ta'minlanishi kerak bo'lgan C ++ shablonlari kutubxonasi, to'plamlarning funksionalligini amalga oshiradigan o'rnatilgan konteyner sinfi uchun shablonni o'z ichiga oladi:
shablon <
sinf kaliti, sinf xususiyatlari = kamroq, sinf ajratuvchi = ajratuvchi
sinflar to'plami
Listingdan ko'rinib turibdiki, to'plam shablonining argumentlari quyidagilardir: to'plam elementlarining ma'lumotlar turi, to'plamdagi elementlarning tartibini aniqlash uchun funktsional ob'ekt turi va xotira ajratuvchisi turi. Bunday holda, faqat birinchi argument talab qilinadi (qolgan ikkitasi sifatida standart ikkilik predikat kamroq va standart taqsimlovchi sukut bo'yicha ishlatiladi).
3-qadam
Agar mavjud bo'lsa, to'plamlar bilan ishlashning funktsional imkoniyatlarini amalga oshiradigan ramkalar ishlab chiqishda ishlatiladigan sinflarni yoki sinf shablonlarini qo'llang. Bunday vositaga Qt kutubxonasining QtCore modulining QSet shablon sinfini misol qilib keltirish mumkin. Uning imkoniyatlari oldingi bosqichda tasvirlangan STL to'plami konteyneriga o'xshaydi.
4-qadam
O'zingizning amaliy vositalaringiz yordamida to'plamni tavsiflang. Oddiy va kichik o'lchamdagi elementlar to'plamlari uchun belgilangan uzunlikdagi massivlarda saqlangan bit bayroqlardan foydalaning. Murakkab ma'lumotlar turlari uchun o'rnatilgan konteyner sinfini amalga oshirish. Asos sifatida siz assotsiativ yoki xeshli assotsiativ massivlarning funksionalligini qabul qilishingiz mumkin. U, o'z navbatida, o'z-o'zini muvozanatlashtiradigan ikkilik qidiruv daraxtlari (masalan, qizil-qora daraxtlar) asosida qurilishi mumkin.