To'plamni Qanday Tavsiflash Mumkin

Mundarija:

To'plamni Qanday Tavsiflash Mumkin
To'plamni Qanday Tavsiflash Mumkin

Video: To'plamni Qanday Tavsiflash Mumkin

Video: To'plamni Qanday Tavsiflash Mumkin
Video: Telefonning 15 ta siz bilmagan maxfiy kodlari/Телефоннинг сиз билмаган 15 та махфий кодлари 2024, May
Anonim

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.

To'plamni qanday tavsiflash mumkin
To'plamni qanday tavsiflash mumkin

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.

Tavsiya: