Wikijunior Ohjelmointi/Pino

Kohteesta Wikikirjasto
Siirry navigaatioon Siirry hakuun
Pino kirjoja

Pino on hyvin tavallinen apuväline tietokoneohjelmissa. Se on tietorakenne, johon voi lisätä tietoja ja josta ottaa tietoja. Tietoja voi ottaa pinosta päinvastaisessa järjestyksessä kuin ne on lisätty. Ensin lisätty voidaan siis poistaa viimeisenä, ja viimeisenä lisätty ensimmäisenä. Pino on siis hyvin samankaltainen kuin esimerkiksi kirjapino. Kun kirjoja pinotaan pöydälle jää ensimmäiseksi lisätty alimmaiseksi. Kun haluaa ottaa alimmaisen kirjan pinosta, pitää ensin poistaa sen päällä olevat kirjat.

Pinon periaate tulee vastaan monenlaisissa tilanteissa. Esimerkksi tässä junan vaunut järjestetään käänteiseen järjestykseen sivuraiteen avulla.

Railroad sorting problem example - stack.svg

Erityisen hyödyllinen pino on silloin kun sitä käytetään yhdessä toisten pinojen tai seuraavassa luvussa käsiteltävien jonojen kanssa.

Tehtäviä[muokkaa | muokkaa wikitekstiä]

Torre de Hanói.jpg

1. Tässä tehtävässä voi käyttää apuna esimerkiksi kolmea erikokoista kirjaa. Siirrä renkaat ensimmäisen kuvan asemasta jälkimmäisen kuvan asemaan. Pinoja on kolme A, B ja C. Voit ottaa yhden renkaan yhdestä pinosta ja asettaa sen toiseen pinoon. Suurempaa rengasta ei kuitenkaan saa asettaa pienemmän päälle.

Railroad sorting problem.svg

2. Auta junailijaa järjestämään junanvaunut oikean yläkulman kuvan mukaiseksi käyttäen kahta sivuraidetta apuna. Voit käyttää apuna esimerkiksi erivärisiä kyniä tai lautapelin nappuloita.