From: Mika K Karlstedt Subject: Re: Tira: 1. kurssikokeen MALLIT!!! Date: Thu, 19 Apr 2001 14:52:36 +0300 (EEST) Tehtävän 3 esimerkkiratkaisu: Tapa 1: Lista: boolean insertAtPlace(Lista lista, Solmu solmu, int paikka) lisää solmun solmu paikkaan paikka listassa lista. palautusarvo voi olla muutakin kuin boolean (esim void) int find(Solmu solmu) palauttaa solmun solmu paikan listassa tai -1 jos solmua ei löydy boolean remove(Solmu solmu) poistaa solmun solmu listasta palauttaa false jos solmua ei löytynyt true jos poisto onnistui Jono: void insertToQueue(Object alkio) lisää alkion jonon perään Solmu removeFromQueue(Jono jono) poistaa solmun jonon alusta ja palauttaa sen tai null:n jos jono on tyhjä Pino: boolean push(Object alkio) laittaa alkion pinon päällimmäiseksi. Palauttaa true jos lisäys onnistui tai false jos pino on täynnä eikä lisäys onnistunut Object pop() ottaa alkion pinon päältä ja palauttaa sen tai null:n jos pino on tyhjä Tapa 2: Lista on tietorakenne, jossa alkiot ovat peräkkäin. Alkiota voi lisätä minne tahansa listassa ja poistaa mistä tahansa lisäksi alkioita voi etsiä listasta. Jono on tietorakenne johon lisätään alkioita jonon perään ja poistetaan jonon alkioita jonon alusta (eli FIFO). Muihin alkioihin ei päästä käsiksi. Pino on tietorakenne jonon lisätään alkioita pinon päälle ja poistetaan alkioita pinon päältä (eli LIFO). Muihin alkioihin ei päästä käsiksi. Jos tavassa 1 ei löytynyt insert-metodia, joka olisi ottanut paikan parametrina niin siitä tuli pisteen menetys samoin jos find-metodi puuttuu. Jos kummatkin puuttuivat niin seurauksena oli kuitenkin vain yhden pisteen menetys. Jos tavassa kaksi puuttui maininta peräkkäidyydestä listan tapauksessa niin siitä tuli pisteen menetys.