Ασκήσεις

Άσκηση 4

  1. Να υλοποιηθεί σε C ο αφηρημένος τύπος της ουράς ακεραίων σύμφωνα με τις παρακάτω συναρτήσεις:
    Επιστρέφει μια άδεια ουρά
    int_queue new_int_queue(void);
    Το στοιχείο i εισάγεται στο τέλος της ουράς
    void put_int_queue(int_queue q, int i);
    Το στοιχείο από την αρχή της μη κενής ουράς αφαιρείται και επιστρέφεται
    int get_int_queue(int_queue q);
    Επιστρέφεται αληθές αν η ουρά είναι κενή
    int isempty_int_queue(int_queue q);
  2. Με βάση τον αφηρημένο αυτό τύπο και μονοτονικά αυξανόμενη μεταβλητή να υλοποιηθεί πρόγραμμα το οποίο να υλοποιεί ουρά εξυπηρέτησης πελατών ως εξής:
    1. Όταν εισάγεται ο χαρακτήρας I (In) το πρόγραμμα τυπώνει τον αριθμό προτεραιότητας του νέου πελάτη.
    2. Όταν εισάγεται ο χαρακτήρας O (Out) το πρόγραμμα τυπώνει τον αριθμό προτεραιότητας του επόμενου πελάτη που θα εξυπηρετηθεί.
    Παράδειγμα:
    I
    1
    I
    2
    I
    3
    O
    1
    I
    4
    O
    2
    ...