Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Stacks - Στοίβες.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Stacks - Στοίβες."— Μεταγράφημα παρουσίασης:

1 Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Stacks - Στοίβες

2 Διδάσκων: Παύλος Παυλικκάς2 Stacks Οι στοίβες είναι δομές δεδομένων που ακολουθούν την αρχή LIFO – Last In First Out. Μπορείτε να σκεφτείτε μια στοίβα από πιάτα. Το πιάτο στο οποίο έχετε πρόσβαση είναι αυτό που βρίσκεται στην κορυφή. Για να μπορέσετε να πάρετε κάποιο πιάτο που βρίσκεται για παράδειγμα στη μέση θα πρέπει να αφαιρέσετε πρώτα τα πιάτα που βρίσκονται από πάνω του.

3 Διδάσκων: Παύλος Παυλικκάς3 Είδη στοίβας Στατικές Υλοποιούνται με τη χρήση ενός πίνακα. Είναι πιο εύκολες στη χρήση τους αλλά έχουν το μειονέκτημα ότι πρέπει να είναι γνωστό το πλήθος που θα εισαχθούν στη στοίβα. Δυναμικές Υλοποιούνται με την χρήση pointers και records. Είναι πιο δύσκολο να υλοποιηθούν αλλά το μέγεθος τους μπορεί να αλλάζει κατά τη διάρκεια εκτέλεσης του προγράμματος.

4 Διδάσκων: Παύλος Παυλικκάς4.. top datanextdatanextdatanext

5 Διδάσκων: Παύλος Παυλικκάς5 Παράδειγμα εισαγωγής δεδομένων σε στοίβα Έστω ότι θέλουμε να αποθηκεύσουμε τους αριθμούς 10,24,43 σε μια στοίβα. Επίσης έστω οι διευθύνσεις της μνήμης RAM είναι όπως φαίνονται πιο κάτω FFF1FFF2FFF3 FFF4FFF5FFF6 FFF7FFF8FFF9

6 Διδάσκων: Παύλος Παυλικκάς6 Παράδειγμα εισαγωγής δεδομένων σε στοίβα Εισαγωγή 10 Εισαγωγή 24 Εισαγωγή 43 TopDataNext Στοίβα 10null FFF1 FFF FFF2 FFF3 FFF1

7 Διδάσκων: Παύλος Παυλικκάς7 Εργασία με στοίβες Push Με τη διαδικασία Push γίνεται εισαγωγή ενός στοιχείου στην κορυφή της στοίβας Pop Εξαγωγή ενός στοιχείου από την κορυφή της στοίβας Top Το στοιχείο που βρίσκεται στην κορυφή της στοίβας Empty Η στοίβα είναι άδεια

8 Βιβλιοθήκη Δήλωση στοίβας stack μεταβλητές; π.χ. stack s1,s2; Δηλώνει 2 στοίβες (s1,s2) που θα δέχονται ακέραιους αριθμούς Διδάσκων: Παύλος Παυλικκάς8

9 Παράδειγμα 1 Να δημιουργήσετε το πρόγραμμα που διαβάζει απεριόριστους αριθμούς από το αρχείο stack1.in και τους τυπώνει στο αρχείο stack1.out με αντίστροφη σειρά Διδάσκων: Παύλος Παυλικκάς9

10 Παράδειγμα 1 #include using namespace std; int main() { FILE *fin, *fout; stack num; int N; fin=fopen("stack1.in","r"); fout=fopen("stack1.out","w"); while( feof( fin ) == 0 ) { fscanf( fin, "%d", &N ); num.push( N ); } while( !num.empty() ) { N = num.top(); fprintf( fout, "%d\n", N); num.pop(); } fclose(fin); fclose(fout); return 0; } Διδάσκων: Παύλος Παυλικκάς10

11 Διδάσκων: Παύλος Παυλικκάς11


Κατέβασμα ppt "Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Stacks - Στοίβες."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google