previous next Up Title Contents Index

Alkion vienti pinoon

PUSH-toiminto toteutetaan funktiolla push().

    void push (struct pino *p, int x)
    {
        if (p->top==SIZE)
        {
            printf ("\n\aPinon ylivuoto");
            exit (1); /* Lopetetaan ohjelman toiminta */
        }
        p->stck[p->top]=x;
        p->top++;
    }

push() vie pinoon alkion tarkistettuaan, että pinossa on tilaa. Jos pino on täynnä, ohjelman toiminta lopetetaan kutsumalla rutiinia exit() virhekoodiparametrilla 1. Ohjelmaa ei tällaisessa tilanteessa kannata jatkaa, koska pinoa käytetään väärin. Ohjelmassa on virhe, joka tulee korjata. Jos pinossa on tilaa, uusi alkio viedään pinotaulukkoon ja top-muuttujan arvoa kasvatetaan yhdellä.

previous next Up Title Contents Index