循环队列

来源:互联网 发布:网络大电影平台有哪些 编辑:程序博客网 时间:2024/06/16 20:14

犯了错误,自己思考问题不足,分析的不透彻,感谢csdn赵老师的教诲:只有自己不断的调试,才能获得分析问题,解决问题的能力。
/******************************************动手去做*************************************************/

循环构造图

        求取rear下一个位置:

rear = (rear+1) % MaxSize; //rear = (rear==MaxSize)?0:rear++

#include <iostream>using namespace std;#define  MaxSize   5typedef  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;}

有错误请指出来,谢谢!

0 0
原创粉丝点击