Arvutiteaduse instituut
  1. Kursused
  2. 2024/25 kevad
  3. Objektorienteeritud programmeerimine (LTAT.03.003)
EN
Logi sisse

Objektorienteeritud programmeerimine 2024/25 kevad

  • Kodutööd ja praktikumid
  • Loengud
  • Kursuse korraldus
  • IDE juhend
  • Süvendusrühm
  • Silumisest

SortedUniquePersonList

Antud on klassid Person ja Test. Loo klass SortedUniquePersonList, mis on kollektsioon Person objektide hoidmiseks.

SortedUniquePersonList objektid peavad garanteerima järgmist:

  • Hoitavate Person elementide isikukood on selle listi jaoks unikaalne - ei tohi olla võimalik, et kahel samas järjendis oleval Person objektil on sama ID kood.
  • Elemendid on kasvavalt järjestatud isikukoodi väärtuse alusel - Person objekt isikukoodiga "1" peab olema väiksema indeksiga kui Person objekt isikukoodiga "2"
  • Sisemiselt hoitakse Person objekte Person[] tüüpi massiivis - aga see massiiv ei tohi olla väljastpoolt objekti kättesaadav!
  • Sisemise massiivi suurus ei tohi olla rohkem kui 2 korda suurem parasjagu hoitavate elementide arvust. See tähendab, et vastavalt vajadusele peab mõnikord uue suurema või väiksema suurusega massiivi looma ning kõik viited sinna üle kopeerima.
  • Elementide lisamisel ja eemaldamisel peavad kõik järgnevad elemendid vastavalt nihkuma.

Person ja Test klassid ning SortedUniquePersonList klassi põhja leiad siit: https://gist.github.com/mbakhoff/9f8aa032656c6acf7696a84cc749b02e Lugege hoolikalt klassi ja meetodite kommentaare ning veenduge, et teie poolt implementeeritav funktsionaalsus vastab kommentaarides väljalubatud nõuetele.

Antud Test klass kontrollib elementaarseid toiminguid, aga ei pruugi kõiki vigu leida. Kontrolli oma kood ise ka üle ja ära jää ainult Test peale lootma.

NB! Siin ülesandes tuleb sisemiselt kasutada just Person[], mitte ArrayList<Person> vms sisseehitatud resizable andmestruktuure. Ülesande eesmärk ongi ehitada ise midagi ArrayList sarnast.

NB! Sisemise Person[] peal ei peaks olema vaja kutsuda sorteerimisalgoritme. Lisa uued elemendid kohe õigesse kohta ja vajadusel tõsta olemasolevaid elemete edasi.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused