#include using namespace std; typedef int datatype; class queue{ private: int front; int end; datatype *q; int size; bool empty; public: queue(); queue(int s); void enqueue(datatype item); void dequeue(datatype &item); bool is_empty(); bool is_full(); }; queue::queue(){ size = 30; q = new datatype[size]; front = 0; end = 0; empty = true; } queue::queue(int s){ size = s; q = new datatype[size]; front = 0; end = 0; empty = true; } void queue::enqueue(datatype item){ if(!is_full()){ q[end]=item; end = (end+1)%size; if(empty) empty = false; } else cout<<"FULL\n"; } void queue::dequeue(datatype &item){ if(!is_empty()){ item = q[front]; front = (front+1)%size; if (front == end) empty = true; } else cout<<"EMPTY\n"; } bool queue::is_empty(){ return empty; } bool queue::is_full(){ if(!empty && front==end) return true; else return false; } int main(){ queue q1(10); int item; for(int i=1;i<=11;++i) q1.enqueue(i); for(i=1;i<=11;++i){ q1.dequeue(item); cout<