队列类

时间:2017-01-17 11:40:28

标签: c++ graph queue

这是C ++中队列类的实现。我无法弄清楚我想要一个函数删除,其中我返回已删除的元素,但出现这些错误: 在删除'之前预期的不合格ID 预期的在成员声明结束时

当我删除删除功能时,一切正常,但不是在那里。 我试图用bfs在未加权的无向图中找到最短路径,我需要队列,特别是一个返回已删除顶点的队列。

class Queue
    {
    public:
        Queue(int maxQueueSize):MaxSize(maxQueueSize)
        {
            queue=new int[MaxSize];
            front=rear=-1;
        }
        bool isFull()
        {
            if(rear==MaxSize-1)
                return true;
            else return false;
        }
        bool isEmpty()
        {
            if(front==rear)
                return true;
            else return false;
        }
        void add(const int& x)
        {
            if(isFull())
                return;
            else
                    queue[++rear]=x;
            }
          int* delete()
            {
               int& x;
                if(isEmpty())
                    return 0;
                else
                {
                    x=queue[++front];
                }
                return x;
            }
        private:
            int front,rear;
            int* queue;
            int MaxSize;
        };

1 个答案:

答案 0 :(得分:0)

'删除'是C ++的保留关键字 查看保留关键字here列表。

你可以更好地称之为“删除”#39;或类似的东西。
更好的是,只需使用std :: queue<>,它已经写得很好并且已经为您测试过了。