Harjutusülesanded
1. Oma tehtud aheljärjend (linked list)
Loo klassimall, mis hoiab aheljärjendit. Järjendis hoitav element on malliparameetri tüüpi. Aheljärjendis on elemendid omavahel seotud viitadega. Klassist isendi loomisel on aheljärjend tühi. Klassis on järgmised funktsioonid:
- elemendi lisamiseks koos mälu reserveerimisega
- elemendi otsimiseks etteantud nime järgi
- elemendi kustutamiseks etteantud nime järgi koos mälu vabastamisega
- elementide arvu tagastamiseks
- järjendi hävitamiseks koos mälu vabastamisega
- mõtle ise juurde!
Nõuded malliparameetrile:
- Malliparameeter on klass või struktuur, kus on vähemalt kaks liiget:
string
tüüpi nimi- malliparameetri tüüpi viit (pointer) järgmisele
- Klassis või struktuuris on funktsioon
getElement()
, mis tagastab nime - Klassis või struktuuris on funktsioon
getJargmine()
, mis tagastab viida järgmisele - Klassis või struktuuris võib olla veel liikmeid ja funktsioone
Loo oma klass ja katseta loodud aheljärjendit.
2. Järjestatud aheljärjend
Modifitseeri esimese ülesande lahendust selliselt, et tekiks järjestatud aheljärjend. Sellisel juhul peavad järjendis hoitavad objektid olema võrreldavad.
3. Kahesuunaline aheljärjend
Modifitseeri esimese ülesande lahendust selliselt, et tekiks kahesuunaline aheljärjend. Sellisel juhul peavad järjendis hoitavad objektid olema varustatud kahe viidaga - viit eelmisele ja viit järgmisele elemendile. Lisa elemendi otsimise funktsioonile parameeter otsimise suuna jaoks.