Prev Next Up Title Contents Index

Eri luokkia


Seuraavassa esimerkkinä BC:n mukana tulevia ADT-talletusluokkia jotka on toteutettu templaten avulla. Toteutustapoja varten on alempia luokkia, eli mm. vektoritoteutusta, listatoteutusta ja kaksisuuntaista listatoteutusta.

	TStackAsVector<T>       pino vektorin avulla
	TQueueAsVector<T>       jono vektorin avulla
	TDequeAsVector<T>       kaksipäinen jono vektorin avulla
	TBagAsVector<T>         "pakaasi" vektorin avulla
	TSetAsVector<T>         joukko vektorin avulla = kukin alkio vain kerran
	TArrayAsVector<T>       taulukko vektorin avulla
	TSArrayAsVector<T>      järjestetty taulukko vektorin avulla
	
	TIStackAsVector<T>      pino osittimista T:hen vektorin avulla
	TIQueueAsVector<T>      jono osittimista T:hen vektorin avulla
	                        ...
	TISArrayAsVector<T>     järjestetty taulukko osoittimista vektorin avulla
	
	TStackAsList<T>         pino listana
	TQueueAsDoubleList<T>   jono 2-suuntaisena listana
	TDequeAsDoubleList<T>   kaksipäinen jono 2-suuntaisena listana
	
	TIStackAsList<T>        pino osoittimista listana
	TIQueueAsDoubleList<T>  jono osoittimista 2-suuntaisena listana
	TIDequeAsDoubleList<T>  kaksipäinen jono osoittimista 2-suuntaisena listana
	

Kuva . Valmiita säiliöluokkia

Tarvittavia include tiedostoja ovat mm: stacks.h, queues.h, bags.h, sets.h, ja arrays.h. Valitettavasti täytyy varoittaa, ettei container-luokkien avustukset ja esimerkit ole muiden avustusten veroisia!

Tehtävä 1.2 Kaksipäinen jono

Kirjoita malliohjelma kaksipäisen jonon käyttämisestä, jossa reaalilukuja lisättäessä ja poistettaessa käytetään jonon kumpaakin päätä. Vaihtele fyysistä toteutusta vektorin ja lineaarisen listan välillä.


Prev Next Up Title Contents Index