// XXXXXX XXX size XX XXXX int XXXXXXX() { XXXX *XXXX = head; XXX XXX = X; XXXXX (XXXX != XXXX) { res++; node = XXXX-&XX;XXXX; } return XXX; }
// XXXXX if XXXX is empty bool XXXXXXX() { XXXX *XXXX = head; return (XXXX == NULL); }
XXX main() { // Example int XXXXXX; do{ XXXX &XX;&XX; "X- Add a passenger to XXX XXXXXXX XXXX" &XX;< XXXX &XX;< "2- Display XXX XXXXXXXXX with highest XXXXXXXX" <&XX; endl << "3- XXXXXX XXXXXXXXX XXXX XXXXXXX priority" &XX;&XX; endl &XX;&XX; "4- XXXXXXX the number of passengers on XXX waiting list" << XXXX &XX;< "X- Exit" &XX;&XX; endl; XXXX &XX;&XX; "Enter XXXXXX: "; XXX &XX;> choice; switch(choice) { case 1: { XXXXXX name; int XXXXXXXXXXXXXXXXX; cout <&XX; "XXXXX name: "; cin &XX;> name; XXXX << "XXXXX number of XXXXXXX: "; cin >> XXXXXXXXXXXXXXXXX; enqueue(Passenger(name,XXXXXXXXXXXXXXXXX,time(NULL))); cout <&XX; "Added XX XXX waiting XXXX." &XX;< XXXX; } break; XXXX 2: { XXXX<< "XXXXXXXXX with highest priority is: " << XXXXX() <&XX; endl; } break; case 3: { cout &XX;< "Passenger with XXXXXX priority " &XX;&XX; XXXXXXX() <&XX; " is XXXXXXX." << endl; } break; XXXX X: { cout &XX;&XX; "XXXX XX XXXXXXX list: " &XX;< XXXXXXX() &XX;&XX; XXXX; } XXXXX; case 5: { XXXX <&XX; "Exiting..........."; } } cout &XX;&XX; XXXX; } while(XXXXXX != 5); XXXXXX X; }
Sample XXXXXX:-
X- Add a passenger to the XXXXXXX XXXX X- Display the passenger XXXX XXXXXXX XXXXXXXX 3- XXXXXX passenger XXXX XXXXXXX priority 4- XXXXXXX XXX number XX passengers on XXX waiting list 5- XXXX Enter choice: 1 XXXXX XXXX: smith Enter number XX XXXXXXX: 10 Added XX the XXXXXXX XXXX.
X- XXX a passenger XX XXX XXXXXXX list 2- XXXXXXX XXX passenger XXXX XXXXXXX XXXXXXXX 3- XXXXXX passenger XXXX highest XXXXXXXX X- Display the XXXXXX XX XXXXXXXXXX on the waiting list X- XXXX XXXXX XXXXXX: 1 XXXXX XXXX: XXXXX XXXXX XXXXXX XX XXXXXXX: X Added to the XXXXXXX list.
1- Add a passenger to the waiting XXXX X- XXXXXXX XXX passenger XXXX highest XXXXXXXX X- XXXXXX XXXXXXXXX with highest XXXXXXXX 4- Display the number XX passengers XX the waiting list 5- XXXX Enter choice: X Enter XXXX: finch XXXXX number of flights: 10 Added to XXX XXXXXXX list.
1- XXX a passenger to the waiting list X- Display the passenger with XXXXXXX XXXXXXXX X- Remove XXXXXXXXX XXXX highest XXXXXXXX X- Display the XXXXXX of passengers on the waiting list X- XXXX XXXXX choice: 2 XXXXXXXXX XXXX XXXXXXX XXXXXXXX XX: XXXXX
1- Add a passenger XX the waiting list X- Display the XXXXXXXXX XXXX XXXXXXX XXXXXXXX X- XXXXXX XXXXXXXXX with highest XXXXXXXX 4- Display XXX XXXXXX of XXXXXXXXXX on the XXXXXXX list 5- XXXX XXXXX choice: X Size of XXXXXXX XXXX: X
X- XXX a XXXXXXXXX to the waiting list X- XXXXXXX the passenger with XXXXXXX XXXXXXXX X- XXXXXX XXXXXXXXX with XXXXXXX XXXXXXXX 4- XXXXXXX XXX number of XXXXXXXXXX on the XXXXXXX XXXX X- XXXX XXXXX choice: X XXXXXXXXX with higher priority smith is removed.
X- Add a XXXXXXXXX to XXX XXXXXXX XXXX 2- Display the passenger with highest XXXXXXXX 3- Remove passenger with XXXXXXX XXXXXXXX 4- XXXXXXX the number XX XXXXXXXXXX on XXX waiting XXXX 5- Exit Enter XXXXXX: 2 XXXXXXXXX with XXXXXXX XXXXXXXX is: XXXXX
X- XXX a passenger XX XXX XXXXXXX XXXX X- Display XXX passenger XXXX highest priority X- XXXXXX XXXXXXXXX XXXX highest XXXXXXXX X- Display XXX number XX passengers XX the waiting list X- XXXX Enter XXXXXX: X XXXX of XXXXXXX list: X
1- Add a XXXXXXXXX to the XXXXXXX XXXX X- XXXXXXX XXX XXXXXXXXX XXXX XXXXXXX priority X- XXXXXX XXXXXXXXX XXXX highest priority 4- Display the XXXXXX XX XXXXXXXXXX on the XXXXXXX list X- XXXX Enter XXXXXX: X XXXXXXX
Alternative:
Answer 2:
code:
#include <iostream&XX; #XXXXXXX <ctime&XX; #include <string&XX; using XXXXXXXXX std; XXXXX XXXXXXXXX{ // XXXXX Passenger XXX storing XXXX related XX passenger private: XXXXXX name; // name of passenger int no_of_flights; // XXXXXX of flights XXXXXX reservation_time; // timestamp XXXX it XXX added XX XXXXX XXXXXX:// XXXXXXX XXXXXXXXXXX XXXXXXXXX() { } Passenger(string XXXX, XXX n, time_t t) : name(name), no_of_flights(n), XXXXXXXXXXXXXXXX(t) { } XXXXXX XXXXXXX(){ XXXXXX name; } int getNumberOfFlights(){ // Getter XXX number XX flights return no_of_flights; } XXX XXXXXXXXXXXXXXXXXX(){ // Getter for reservation XXXX return reservation_time; } }; class Node { // class representing XXXX XX a doubly XXXXXX XXXX XXXXXX: XXXXXXXXX passenger; Node *next; XXXX *XXXX; XXXX(Passenger p) { // constructor for Node of doubly linked list this->passenger = Passenger(p.getName(),p.getNumberOfFlights(),p.XXXXXXXXXXXXXXXXXX()); XXXX = XXXX = NULL; } }; XXXX *head = NULL; // head XX XXXXXX XXXXXX list XXXX enqueue(Passenger p) { XX (head == XXXX) { XXXX *newNode = new Node(p); XXXX = newNode; return; } Node *XXXX = XXX Node(p); XXXX *temp = XXXX; XXXX *XXXXXX = NULL; XXXXX (XXXX != NULL && XXXX->passenger.getNumberOfFlights() &XX;= p.getNumberOfFlights()) { parent = temp; XXXX = XXXX->next; } if (XXXXXX == NULL) { XXXX-&XX;XXXX = XXXX; head-&XX;XXXX = XXXX; head = XXXX; } XXXX XX (XXXX == XXXX) { XXXXXX-&XX;XXXX = XXXX; node -> prev = XXXXXX; } else { XXXXXX->next = XXXX; XXXX->prev = parent; XXXX-&XX;XXXX = temp; temp-&XX;XXXX = node; } } XXXXXX front() { XX (XXXX != NULL) { XXXXXX head-&XX;XXXXXXXXX.XXXXXXX(); } return ""; } XXXXXX dequeue() { if (head != NULL) { string XXXX = XXXX-&XX;passenger.getName(); XXXX = head-&XX;next; XX (head != XXXX) { XXXX->XXXX = XXXX; } return curr; } XXXXXX ""; } // XXXXXX the XXXX of XXXX int XXXXXXX(){ XXXX *node = head; XXX res = 0; while (node != NULL){ res++; XXXX = node-&XX;XXXX; } return XXX; } // XXXXX if list XX empty XXXX isEmpty() { Node *XXXX = XXXX; return (XXXX == NULL); } int XXXX() { int choice; XX{ cout &XX;< "1- XXX a passenger XX the XXXXXXX XXXX" &XX;< endl &XX;< "2- XXXXXXX XXX passenger XXXX XXXXXXX priority" &XX;< endl << "X- XXXXXX passenger XXXX highest priority" <&XX; endl << "X- Display XXX XXXXXX XX XXXXXXXXXX XX XXX XXXXXXX list" &XX;&XX; endl << "5- XXXX" <&XX; endl; XXXX << "Enter choice: "; XXX >> XXXXXX; switch(choice){ XXXX X:{ XXXXXX XXXX; XXX XXXXXXXXXXXXXXXXX; cout &XX;&XX; "XXXXX name: "; XXX &XX;&XX; XXXX; cout <&XX; "XXXXX XXXXXX of XXXXXXX: "; cin &XX;&XX; number_of_flights; enqueue(XXXXXXXXX(name,XXXXXXXXXXXXXXXXX,XXXX(XXXX))); XXXX &XX;&XX; "XXXXX to XXX XXXXXXX XXXX." &XX;< endl; } break; XXXX X:{ XXXX&XX;< "Passenger XXXX XXXXXXX XXXXXXXX XX: " << front() <&XX; endl; } XXXXX; case 3:{ XXXX &XX;< "XXXXXXXXX with XXXXXX XXXXXXXX " &XX;&XX; dequeue() <&XX; " is XXXXXXX." &XX;&XX; XXXX; } XXXXX; case 4:{ XXXX << "Size XX XXXXXXX XXXX: " << XXXXXXX() &XX;< endl; } break; XXXX X:{ XXXX << "Exiting..........."; } } XXXX &XX;< endl; } XXXXX(XXXXXX != X); XXXXXX 0; }
output:
}
Images Not Shown
c++ :-
XXXX.XXX XXXX
#include <string>
};
XXXX *XXXX = XXXX;
XXXXXX XXXXXX:-
Added to XXX XXXXXXX list.
XXXXX to the waiting XXXX.
Added XX XXX XXXXXXX XXXX.
Passenger XXXX XXXXXXX priority is: XXXXX
XXXX XX XXXXXXX XXXX: X
Passenger with XXXXXX XXXXXXXX smith is XXXXXXX.
XXXXXXXXX XXXX highest XXXXXXXX XX: finch
XXXX of waiting XXXX: X
Exiting