Institute of Computer Science
Courses.cs.ut.ee Institute of Computer Science University of Tartu
  1. Courses
  2. 2025/26 spring
  3. Object-oriented Programming (LTAT.03.003)
ET
Log in

Object-oriented Programming 2025/26 spring

  • 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.

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment