previous next Up Title Contents Index

22.1.1 wildmat


Jos etsimisessä halutaan sallia jokerimerkkien käyttö, saattaa etsiminen johtaa joka tapauksessa peräkkäishakuun. Voitaisiin kuitenkin erotella erikoistapauksia:
	Ankka Aku -  voitaisiin käyttää mitä tahansa järkevää
	            järjestetyn joukon hakualgoritmia
	Ankka*    -  voitaisiin etsiä järjestetystä joukosta 1. Ankka
	            ja tämän jälkeen loppu peräkkäishakuna
	*Aku*     -  vaikea keksiä muuta kuin peräkkäishaku
Lähdimme kuitenkin alunperin oletuksesta, että kerhon koko on pieni. Siis tuskin peräkkäishakukaan vie kohtuuttomasti aikaa. Näin ollen käsittelemme kaikki hakutilanteet samalla tavalla.

Entäpä mikäli etsimisessä löytyy useita ehdon täyttäviä henkilöitä. Eräs tyypillinen tapa on tehdä aliohjelmapari:

	etsi_ensimmainen
	etsi_seuraava
Vähän samaa ideaa sovellettiin jo aikaisemmin palanen - aliohjelmassa.

Tehtävä 22.174 etsi_nimi_alkaen

Kirjoita metodi etsi_nimi_alkaen, joka etsii kerhosta nimeä aloittaen etsimisen parametrina välitetystä indeksistä. Tällä kertaa hakuehtona saa olla myös jono "*Aku*". Metodi palauttaa löytöpaikan indeksin tai - 1, mikäli etsittävää ei löydy.


previous next Up Title Contents Index