qq_我亦久飘零_0
2016-04-28 19:55
#include"MyQueue.h" #include<iostream> #include<stdlib.h> using namespace std; MyQueue::MyQueue(int queueCapacity) { int m_iQueueCapacity =queueCapacity; ClearQueue(); m_pQueue= new int[m_iQueueCapacity]; } MyQueue::~MyQueue() { delete[]m_pQueue; m_pQueue =NULL; } void MyQueue::ClearQueue() { m_iHead=0; m_iTail=0; m_iQueueLen=0; } bool MyQueue::QueueEmpty()const { return m_iQueueLen==0?true:false; } int MyQueue::QueueLength()const { return m_iQueueLen; } bool MyQueue::QueueFull() const { if(m_iQueueLen==m_iQueueCapacity) {return true; } return false; } bool MyQueue::EnQueue(int element) { if(QueueFull()) { return false; } else{ m_pQueue[m_iTail] =element; m_iTail++; m_iTail=m_iTail%m_iQueueCapacity; m_iQueueLen++; return true; } } bool MyQueue::DeQueue(int &element) { if(QueueEmpty()) { return false; } else { element = m_pQueue[m_iHead]; m_iHead++; m_iHead=m_iHead%m_iQueueCapacity; m_iQueueLen--; return true; } } void MyQueue::QueueTraverse() { for (int i=m_iHead;i<m_iQueueLen;i++) { cout<<m_pQueue[i%m_iQueueLen]<<endl; } } /********************************/ /*实现环形队列 */ /********************************/ int main(void) { MyQueue *p =new MyQueue(4); p->EnQueue(10); p->QueueTraverse(); delete p; p = NULL; cout<<MyQueue<<endl; system("pause"); return 0; }
void MyQueue::QueueTraverse()
{
for (int i = m_iHead; i < m_iHead + m_iQueueLen; i++)
{
cout << m_pQueue[i % m_iQueueLen] << endl;
}
}
数据结构探险—队列篇
110035 学习 · 170 问题
相似问题