#includeusing namespace std; #define Maxsize 100 typedef int T; class CirQueue { public: CirQueue(); ~CirQueue(); void EnCirQueue(); //入队 void DeCirQueue(); //出队 private: T* data; //存放队列的数组 T front, rear; //头指针与尾指针 T length; //当前长度 }; CirQueue::CirQueue() //初始化 { data = new T[Maxsize]; front = rear = 0; length = 0; } CirQueue::~CirQueue() //销毁 { delete[]data; front = rear = 0; length = 0; } void CirQueue::EnCirQueue() //入队 { cout << "请输入入队数据:" << " "; int e = 0; cin >> e; cout << endl; if ((rear + 1) % Maxsize == front) { cout << "队满!" << endl; } else { data[rear] = e; rear = (rear + 1) % Maxsize; } length++; } void CirQueue::DeCirQueue() //出队 { if (front == rear) { cout << "队列空!" << endl; } else { cout << "出队数据为:" << data[front] << endl; front = (front + 1) % Maxsize; } length--; } int main() { CirQueue q; q.EnCirQueue(); q.EnCirQueue(); q.EnCirQueue(); q.DeCirQueue(); system("pause"); return 0; }
实现效果如下:



