主函数实现的代码
int main(void)
{
MyQueue *p = new MyQueue(4);
p->EnQueue(10);
p->EnQueue(15);
p->EnQueue(17);
p->EnQueue(18);
//p->EnQueue(20);
p->QueueTraverse();
int e = 0;
p->DeQueue(e);
cout << endl;
cout << e << endl;
p->DeQueue(e);
cout << endl;
cout << e << endl;
cout << endl;
p->QueueTraverse();
p->ClearQueue();
p->QueueTraverse();
delete p;
p = NULL;
system("pause");
return 0;
}
元素出队的函数代码
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;
}
}
楼主解决了吗,我用的是m_iQueueCapacity
遍历函数里取余时,检查一下有没有用m_iQueueCapacity,而不能用m_iQueueLen.