Pino voidaan toteuttaa siten, että se
![]() | käyttää kiinteän kokoista muistialuetta tai siten, että |
![]() | pinolle varattu muistialueen koko vaihtelee sen mukaan, kuinka monta alkiota pinossa on. |
Seuraavissa esimerkeissä pino toteutetaan kolmella eri tavalla:
1) vakiokokoisen taulukon avulla eli taulukon koko määrätään ohjelman käännöksen
aikana (esimerkki 1)
2) dynaamisen taulukon avulla eli taulukon koko määrätään ohjelman ajon aikana
(esimerkki 2)
3) linkitetyn listan avulla (esimerkki 3).
Kussakin tapauksessa määritellään pinolle rutiinit
![]() | PUSH (alkion vienti pinoon) ja |
![]() | POP (alkion poisto pinosta). |
Pino määritellään kaikissa esimerkeissä kokonaisluvuille (= pinon alkiot ovat kokonaislukuja). Pinon alkion tyyppi voisi olla myös jotain muuta, esimerkiksi tietue.
![]() | Esim 1 |
![]() | Esim 2 |
![]() | Esim 3 |