Πίσω

Δραστηριότητα 3

Έστω η στοίβα του παρακάτω σχήματος στην οποία ο δείκτης στοίβας βρίσκεται στη διεύθυνση 1000 και δείχνει το στοιχείο με τιμή -28.

* Nα εξηγήσετε τον τρόπο με τον οποίο θα εκτελεστεί:
    i) ώθηση στη στοίβα του στοιχείου με τιμή 19,
    ii) εξαγωγή από τη στοίβα του στοιχείου κορυφής.
* Ποια θα είναι η διεύθυνση του δείκτη στοίβας σε κάθε μία από αυτές τις περιπτώσεις; Να θεωρήσετε ότι κάθε στοιχείο καταλαμβάνει 4 bytes και πως τα στοιχεία τοποθετούνται διαδοχικά σε θέσεις μνήμης με μεγαλύτερη διεύθυνση.
* Να σχεδιάσετε τη μορφή που θα έχει η νέα στοίβα μετά την ώθηση και την εξαγωγή στοιχείων αντίστοιχα.

Απάντηση δραστηριότητας 3

i) Ώθηση:
    * Aύξηση της τιμής (του περιεχομένου) του δείκτη της στοίβας κατά 4. Η νέα τιμή του δείκτη στοίβας είναι το 1004.
    * Ώθηση του επόμενου στοιχείου, που έχει τιμή 19, στην κορυφή της στοίβας. Ο δείκτης δείχνει το νέο στοιχείο        κορυφής, με τιμή 19.
    Στο παρακάτω σχήμα απεικονίζεται η στοίβα μετά την ώθηση στην αρχική στοίβα, του νέου στοιχείου με τιμή 19.

ii) Εξαγωγή
    * Eξαγωγή του πρώτου στοιχείου που υπάρχει στην κορυφή της στοίβας, το οποίο είναι το -28.
    * Mείωση της τιμής (του περιεχομένου) του δείκτη στοίβας κατά 4. Η νέα τιμή του δείκτη στοίβας είναι το 996. Ο        δείκτης στοίβας δείχνει στο προηγούμενο στοιχείο, το οποίο έχει τιμή 17 και είναι τώρα το νέο στοιχείο κορυφής.
    Στο παρακάτω σχήμα απεικονίζεται η στοίβα μετά την εξαγωγή από την αρχική στοίβα, του στοιχείου κορυφής με
    τιμή -28.