Vienas iš duomenų struktūrų tipų, kurie yra tiesioginis matematinių objektų įsikūnijimas informatikoje, yra rinkiniai. Operacijos su jais gana dažnai yra įvairių algoritmų pagrindas. Skirtingos programavimo kalbos turi savo priemones rinkiniams apibūdinti.
Būtinas
- - vystymosi aplinka;
- - vertėjas iš pasirinktos programavimo kalbos.
Nurodymai
1 žingsnis
Aprašykite rinkinį naudodami programavimo kalbą, jei tokia yra. Pavyzdžiui, „Pascal“kalboje yra aibės konstrukcija, leidžianti deklaruoti atitinkamus tipus. Tiesa, tokių rinkinių tūris neturėtų viršyti 256 elementų. Rinkinio tipo deklaracijų pavyzdys gali atrodyti taip:
tipo
AZLetters = 'A' rinkinys.. 'Z';
AllLetters = simbolių rinkinys;
Tipų, kurie yra rinkiniai, kintamieji ir konstantos deklaruojami įprastu būdu. Tokiu atveju inicialui gali būti naudojami nustatyti literalai. Pavyzdžiui:
konst
„LettersSet1“: AZLetters = ['A', 'B', 'C'];
2 žingsnis
Norėdami apibūdinti rinkinius, naudokite standartinių bibliotekų ar modulių galimybes. Taigi, C ++ šablonų bibliotekoje, kuri turėtų būti pateikiama kartu su kompiliatoriumi, yra rinkinio konteinerių klasės šablonas, įgyvendinantis rinkinių funkcionalumą:
šablonas <
klasės raktas, klasės bruožai = mažiau, klasė Skirstytuvas = paskirstytojas
klasės komplektas
Kaip matote iš sąrašo, rinkinio šablono argumentai yra šie: rinkinio elementų duomenų tipas, funkcinio objekto tipas, norint nustatyti rinkinio elementų tvarką, ir atminties paskirstytojo tipas. Šiuo atveju reikalingas tik pirmasis argumentas (kaip ir kiti du, pagal numatytuosius nustatymus naudojamas standartinis dvejetainis predikatas mažiau ir standartinis skirstytuvas).
3 žingsnis
Taikykite klases ar klasės šablonus, naudojamus kuriant sistemas, kurios įgyvendina darbo su rinkiniais funkcionalumą, jei tokių yra. Tokio įrankio pavyzdys yra „Qt“bibliotekos „QtCore“modulio „QSet“šablonų klasė. Jo galimybės yra panašios į ankstesniame žingsnyje aprašytų STL rinkinio konteinerio galimybes.
4 žingsnis
Apibūdinkite rinkinį naudodamiesi savo įgyvendinimo priemonėmis. Paprastų tipų ir mažų elementų rinkiniams naudokite fiksuoto ilgio matricose saugomas bitų žymes. Įdiegti nustatytą sudėtingų duomenų tipų sudėtinių rodinių klasę. Kaip pagrindą galite naudoti asociacinių arba maišos asociacinių masyvų funkcionalumą. Savo ruožtu jis gali būti pastatytas remiantis savaime subalansuojančiais dvejetainiais paieškos medžiais (pavyzdžiui, raudonai juodais medžiais).