Άσκηση

Άσκηση 8

  1. Να υλοποιηθεί σε C++ η κλάση της ουράς ακεραίων int_queue σύμφωνα με τις παρακάτω συναρτήσεις:
    Δημιουργεί μια άδεια ουρά size στοιχείων
    int_queue(int size);
    Το στοιχείο i εισάγεται στο τέλος της ουράς
    void put_int_queue(int i);
    Το στοιχείο από την αρχή της μη κενής ουράς αφαιρείται και επιστρέφεται
    int get_int_queue();
    Επιστρέφεται αληθές αν η ουρά είναι κενή
    int isempty_int_queue();
  2. Με βάση τον αφηρημένο αυτό τύπο και μονοτονικά αυξανόμενη μεταβλητή να υλοποιηθεί πρόγραμμα το οποίο να υλοποιεί ουρά εξυπηρέτησης πελατών ως εξής:
    1. Όταν εισάγεται ο χαρακτήρας I (In) το πρόγραμμα τυπώνει τον αριθμό προτεραιότητας του νέου πελάτη.
    2. Όταν εισάγεται ο χαρακτήρας O (Out) το πρόγραμμα τυπώνει τον αριθμό προτεραιότητας του επόμενου πελάτη που θα εξυπηρετηθεί.
    Παράδειγμα:
    I
    1
    I
    2
    I
    3
    O
    1
    I
    4
    O
    2
    ...
    
    Παρατήρηση: Το πρόγραμμα μπορεί να δομηθεί γύρω από τον παρακάτω κώδικα εισόδου:
    #include <iostream.h>
    
    main()
    {
    	char c;
    	// Initializations here
    
    	for (;;) {
    		cin >> c;
    		switch (c) {
    		case 'I':
    			// Process input here
    			break;
    		case 'O':
    			// Process output here
    			break;
    		}
    	}
    }