1: //queue03.cpp
3: #include <iostream>
4: #include <iomanip>
5: #include <queue>
6: using namespace std;
8: int main()
9: {
10: cout << "\nThis program illustrates the assignment of one queue "
11: "to another,\nand the comparison of queues.";
12: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
14: queue<int> q1;
15: q1.push(1);
16: q1.push(2);
17: q1.push(3);
18: q1.push(4);
19: cout << "\nThe queue q1 contains " << q1.size() << " values.";
20: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
22: cout << "\nNow we create three new empty queues-q2, q3, q4-"
23: "and assign q1 to all three.\nThen we display the contents of "
24: "q1 to show what q2, q3 and q4 all contain.\nNote that the "
25: "process of displaying the values in q1 empties q1.";
26: queue<int> q2, q3, q4;
27: q4 = q3 = q2 = q1;
28: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
30: cout << "\nHere are the values of q1, in \"FIFO\" order:\n";
31: //This is the proper way to access the elements of a queue:
32: while(!q1.empty())
33: {
34: cout << "Popping: ";
35: cout << q1.front() << "\n";
36: q1.pop();
37: }
38: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
40: cout << "\nNext we display the contents of q2 to confirm that "
41: "q1 did get assigned to q2.";
42: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
44: cout << "\nHere are the values of q2, in \"FIFO\" order:\n";
45: while(!q2.empty())
46: {
47: cout << "Popping: ";
48: cout << q2.front() << "\n";
49: q2.pop();
50: }
51: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
53: cout << "\nFinallly, we push the value 5 onto q4, and then we "
54: "output the result of\ncomparing q3 and q4 using each of the "
55: "relational operators.";
56: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
58: q4.push(5);
59: cout << "\nq3 == q4 is " << boolalpha << (q3 == q4) << ".";
60: cout << "\nq3 != q4 is " << boolalpha << (q3 != q4) << ".";
61: cout << "\nq3 < q4 is " << boolalpha << (q3 < q4) << ".";
62: cout << "\nq3 <= q4 is " << boolalpha << (q3 <= q4) << ".";
63: cout << "\nq3 > q4 is " << boolalpha << (q3 > q4) << ".";
64: cout << "\nq3 >= q4 is " << boolalpha << (q3 >= q4) << ".";
65: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
66: }