δειτε και αυτό
Ουρά δύο άκρων
Γράψτε πρόγραμμα το οποίο να διαχειρίζεται μια ουρά δύο άκρων (double-ended queue ή deque) ως εξής:
Το πρόγραμμα εκτελείται συνεχώς και δέχεται στην είσοδο κάποιο αριθμητικό δεδομένο το οποίο εισάγεται στην ουρά. Στη συνέχεια το πρόγραμμα παρουσιάζει στην οθόνη τη νέα μορφή της ουράς και περιμένει το επόμενο δεδομένο. Όταν ο χρήστης πληκτρολογήσει ‘q’ το πρόγραμμα τερματίζει την εκτέλεσή του.
Είσοδος δεδομένων στην ουρά (enqueue): Εφόσον στην είσοδο δίνονται αριθμητικά δεδομένα με τη συνήθη δεκαδική μορφή (πχ. 15, 245, 7, κλπ.) αυτά εισάγονται στο τέλος της ουράς. Εάν δοθεί δεδομένο όπου προτάσσεται το 0 (πχ. 015, 0245, 07) τότε το πρόγραμμα εισάγει το δεδομένο στην αρχή της ουράς (αφού αφαιρέσει τον χαρακτήρα ‘0’)
Έξοδος δεδομένων από την ουρά (dequeue): Εάν δοθεί ‘r’ (από το remove) εξάγεται δεδομένο από το τέλος της ουράς. Εάν δοθεί ‘0r’ εξάγεται δεδομένο από την αρχή της ουράς.
Υπόδειξη:
Γράψτε τον κώδικα με βάση τα παραδείγματα που έχουν παρουσιαστεί σε βίντεο για την απλή ουρά και τη στοίβα (stack)
Ο κώδικας σας θα χρησιμοποιεί βρόχο και εντολή if για να ελέγχει την είσοδο που δίνει ο χρήστης ώστε να εκτελείται η αντίστοιχη ενέργεια