Yksi tietorakenteista, jotka ovat suoraa suoritusmuotoa matemaattisille kokonaisuuksille tietojenkäsittelytieteessä, ovat joukot. Heidän kanssaan tehtävät operaatiot ovat useiden algoritmien taustalla. Eri ohjelmointikielillä on omat keinot kuvata sarjoja.
Tarpeellinen
- - kehitysympäristö;
- - kääntäjä valitulta ohjelmointikieleltä.
Ohjeet
Vaihe 1
Kuvaa sarja ohjelmointikielellä, jos sellainen on käytettävissä. Esimerkiksi Pascal-kielellä on joukko rakenne, jonka avulla voit ilmoittaa vastaavat tyypit. Totta, tällaisten sarjojen tilavuus ei saisi ylittää 256 elementtiä. Esimerkki joukotyyppi-ilmoituksista saattaa näyttää tältä:
tyyppi
AZLetters = joukko 'A'.. 'Z';
AllLetters = merkkisarja;
Muuttujat ja vakiotyypit, jotka ovat joukkoja, ilmoitetaan tavalliseen tapaan. Tässä tapauksessa alustuksessa voidaan käyttää asetettuja literaaleja. Esimerkiksi:
vakio
LettersSet1: AZLetters = ['A', 'B', 'C'];
Vaihe 2
Käytä tavallisten kirjastojen tai moduulien ominaisuuksia kuvaamaan sarjoja. Joten C ++ -mallikirjasto, joka tulisi toimittaa kääntäjän mukana, sisältää mallin asetetulle säiliöluokalle, joka toteuttaa joukkojen toiminnot:
malli <
luokan avain, luokan ominaisuudet = vähemmän, class Allocator = allokaattori
luokan sarja
Kuten luettelosta voit nähdä, joukon mallin argumentit ovat: joukon elementtien tietotyyppi, toiminnallisen objektin tyyppi joukon elementtien järjestyksen määrittämiseksi ja muistin allokoijan tyyppi. Tällöin vaaditaan vain ensimmäinen argumentti (kuten kaksi muuta, oletusarvoisesti käytetään tavallista binääristä predikaattia vähemmän ja vakioallokaattoria).
Vaihe 3
Käytä luokkia tai luokkamalleja, joita käytetään kehysten kehityksessä, jotka toteuttavat joukkoilla työskentelyn toiminnallisuuden, jos sellaisia on. Esimerkki tällaisesta työkalusta on Qt-kirjaston QtCore-moduulin QSet-malliluokka. Sen ominaisuudet ovat samanlaisia kuin edellisessä vaiheessa kuvattu STL-setisäiliö.
Vaihe 4
Kuvaile sarjaa omilla toteutustavoillasi. Käytä kiinteän pituisiin matriiseihin tallennettuja bittilippuja yksinkertaisten ja pienikokoisten elementtien sarjoille. Toteuta asetettu säilöluokka monimutkaisille tietotyypeille. Perusteena voit käyttää assosiatiivisten tai hajautettujen assosiatiivisten taulukoiden toimintoja. Se puolestaan voidaan rakentaa itsestään tasapainottavien binaaristen hakupuiden (esimerkiksi punamusta puiden) perusteella.