为啥我的代码一样,但是经过去取出首元素后遍历,打印结果和刚开始入队元素时的一样
主函数实现的代码
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;
}
}