问答详情
源自:4-3 环形队列检测

我的没有语法错误但是数不出来

#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; 
}


提问者:qq_我亦久飘零_0 2016-04-28 19:55

个回答

  • dabo
    2016-04-30 18:20:55
    已采纳

    void  MyQueue::QueueTraverse()

    {

        for (int i = m_iHead; i < m_iHead + m_iQueueLen; i++) 

        {

            cout << m_pQueue[i % m_iQueueLen] << endl; 

        } 

    }


  • 慕移动9181930
    2022-03-27 05:48:33

    神马没有???

  • 慕移动9181930
    2022-03-23 16:48:43

    是不是只讲在线安装了,没讲包安装。