#include<iostream> #include<conio.h> using namespace std; class PQue { private: int PQ[5][5]; int front[5]; int rear[5]; public: PQue() { for (int i = 0; i < 5; i++) { front[i] = rear[i] = -1; for (int j = 0; j < 5; j++) { PQ[i][j] = 0; } } } void insert(int priority, int value) { if (front[priority] == -1 && rear[priority] == 5 - 1) { cout << "Overflow !!! " << endl; } else { PQ[priority][++rear[priority]] = value; } } int remove(int priority) { if (front[priority] == rear[priority]) { cout << "Underflow !!! " << endl; return -1; } else { return PQ[priority][++front[priority]]; } } void removeAll() { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { cout << remove(i) << endl; } } } }; int main() { PQue A; A.insert(1, 7); A.insert(1, 8); A.insert(1, 2); A.insert(1, 6); A.insert(1, 4); for (int i = 0; i < 5; i++) { cout << A.remove(1) << endl; } _getch(); return 0; }