български

Η Ουρά (Queue)

Μάθημα 2: Η Ουρά (Queue)

Διάρκεια: 45 Λεπτά

Εισαγωγή: Ποιος εξυπηρετείται πρώτος;

Παρακολουθήστε το βίντεο για τη λειτουργία του εκτυπωτή (Print Spooler) και της ουράς αναμονής.

1. Η Λογική FIFO

Σε αντίθεση με τη Στοίβα, η Ουρά λειτουργεί με τη μέθοδο First In, First Out.

Χρειαζόμαστε δύο δείκτες:

  • Front (Εμπρός): Δείχνει τη θέση από όπου θα βγει το επόμενο στοιχείο.
  • Rear (Πίσω): Δείχνει τη θέση όπου μπήκε το τελευταίο στοιχείο.

Checkpoint #1 (Κατανόηση)

2. Εισαγωγή και Εξαγωγή

Εισαγωγή (Enqueue) Εξαγωγή (Dequeue)
Γίνεται στο τέλος (rear).
rear <- rear + 1
Γίνεται στην αρχή (front).
front <- front + 1

Checkpoint #2: Προγραμματιστική Λογική

Στον προγραμματισμό, η σειρά των εντολών έχει τεράστια σημασία. Στην παρακάτω άσκηση καλείσαι να ολοκληρώσεις τον αλγόριθμο της Εισαγωγής (Enqueue).

Σκέψου πριν σύρεις:
Τι πρέπει να γίνει πρώτα; Να βάλουμε το νέο στοιχείο στη θέση που δείχνει τώρα το rear, ή να μετακινήσουμε το rear στην επόμενη άδεια θέση;

Μίνι-Γρίφος:

Έστω ότι η Ουρά έχει Front=2 και Rear=2 (έχει μέσα 1 στοιχείο).
Εκτελούμε μια Εξαγωγή (Dequeue).
Ποιες θα είναι οι νέες τιμές των δεικτών;

Πάτα εδώ για την απάντηση

Σωστή Απάντηση: Front=3, Rear=2.
Εξήγηση: Το Front προχωράει για να "απελευθερώσει" το στοιχείο. Τώρα το Front είναι μεγαλύτερο από το Rear, που σημαίνει ότι η ουρά άδειασε!