犯了错误,自己思考问题不足,分析的不透彻,感谢csdn赵老师的教诲:只有自己不断的调试,才能获得分析问题,解决问题的能力。
/******************************************动手去做*************************************************/
求取rear下一个位置:
rear = (rear+1) % MaxSize; //rear = (rear==MaxSize)?0:rear++
#include <iostream>
using namespace std;
#define MaxSize 5
typedef int DataType;
class Myqueue
{
public:
Myqueue();
void AddQueue(DataType element);
DataType DeQueue(int element);
private:
int front;
int rear;
int count;
int data[MaxSize];
};
Myqueue::Myqueue()
{
front=rear=count=0;
}
void Myqueue::AddQueue(DataType element)
{
data[rear]=element;
rear = (rear+1) % MaxSize;
count++;
if ((count==MaxSize))
{
cout<<"full"<<endl;
front=rear=0;
}
}
DataType Myqueue::DeQueue(int element)
{
element = data[front];
front = (front+1) % MaxSize;
count--;
return element;
}
int main()
{
Myqueue my;
for (int i=0;i<3;i++)
{
my.AddQueue(i);
}
for (int j=0;j<3;j++)
{
cout<<my.DeQueue(j)<<endl;
}
return 0;
}
有错误请指出来,谢谢!
本文分享了一个简单的循环队列的实现案例,并通过具体的代码展示了如何进行元素的添加与删除操作。作者通过自我调试的过程强调了不断实践的重要性,这对于理解和掌握数据结构非常关键。
3702

被折叠的 条评论
为什么被折叠?



