Ουρά (Queue) 🚶🚶♀️🚶🏼♀️👨🏼🦯🚶🏿♂️
🔄 Τι είναι η Ουρά;
Η ουρά είναι μια δομή δεδομένων όπου τα στοιχεία τοποθετούνται και αφαιρούνται με τρόπο Πρώτο Μέσα, Πρώτο Έξω (FIFO - First In First Out). Δηλαδή, το πρώτο στοιχείο που εισέρχεται στην ουρά είναι και το πρώτο που θα αφαιρεθεί.
Παράδειγμα Ουράς
🔧 Βασικές Λειτουργίες Ουράς
Οι δύο κύριες λειτουργίες που υποστηρίζει η ουρά είναι:
- Εισαγωγή (enqueue): Προσθήκη στοιχείου στο πίσω άκρο της ουράς.
- Εξαγωγή (dequeue): Αφαίρεση στοιχείου από το εμπρός άκρο της ουράς.
📍 Δείκτες Ουράς
Χρησιμοποιούμε δύο δείκτες για να διαχειριζόμαστε την ουρά:
front
: Δείχνει τη θέση του πρώτου στοιχείου της ουράς.rear
: Δείχνει τη θέση του τελευταίου στοιχείου της ουράς.
Οι μεταβλητές rear
και front
ξεκινούν από το 0.
➡️ Εισαγωγή Στοιχείου στην Ουρά
Η εισαγωγή γίνεται από το πίσω άκρο της ουράς, και αυξάνεται ο δείκτης
rear
κατά 1.rear <- rear + 1
⬅️ Εξαγωγή Στοιχείου από την Ουρά
Η εξαγωγή γίνεται από το εμπρός άκρο της ουράς, και αυξάνεται ο δείκτης
front
κατά 1.front <- front + 1
👨💻 Παραδείγματα Προγραμμάτων
Παράδειγμα 1: Εισαγωγή Στοιχείου στην Ουρά
- Σκοπός: Να αναπτυχθεί τμήμα προγράμματος σε ΓΛΩΣΣΑ που εισάγει ένα στοιχείο στην ουρά με 10 θέσεις.
ΓΡΑΨΕ 'Δώσε στοιχείο για εισαγωγή στην ουρά A:'
ΔΙΑΒΑΣΕ στοιχείο
ΑΝ rear = 10 ΤΟΤΕ
ΓΡΑΨΕ 'Γεμάτη ουρά'
ΑΛΛΙΩΣ ΑΝ (front = 0 ΚΑΙ rear = 0) ΤΟΤΕ
front <- 1
rear <- 1
A[rear] <- στοιχείο
ΑΛΛΙΩΣ
rear <- rear + 1
A[rear] <- στοιχείο
ΤΕΛΟΣ_ΑΝ
Παράδειγμα 2: Εξαγωγή Στοιχείου από την Ουρά
- Σκοπός: Να αναπτυχθεί τμήμα προγράμματος σε ΓΛΩΣΣΑ που αφαιρεί ένα στοιχείο από την ουρά με 10 θέσεις.
ΑΝ (front = 0 ΚΑΙ rear = 0) ΤΟΤΕ
ΓΡΑΨΕ 'Άδεια ουρά'
ΑΛΛΙΩΣ ΑΝ (front = rear) ΤΟΤΕ
ΓΡΑΨΕ 'Εξάγεται το στοιχείο:', A[front]
front <- 0
rear <- 0
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Εξάγεται το στοιχείο:', A[front]
front <- front + 1
ΤΕΛΟΣ_ΑΝ
📝 Συμπέρασμα
Η ουρά είναι μια από τις πιο βασικές δομές δεδομένων, που χρησιμοποιείται συχνά για την αποθήκευση και την προσπέλαση δεδομένων με τρόπο FIFO, εξασφαλίζοντας ότι τα στοιχεία εξάγονται με τη σειρά που εισάγονται.
Ο Ευκλείδης λειτουργεί μέσω τεχνητής νοημσύνης