0

在此代码中,rear++ 是在队列中分配元素之后,即 queue[rear] = ele; 所以队列元素将从索引 -1 开始,后面的位置将是 -1 。在 queue[rear]=ele; 之后,这个后部++如何工作?

void enqueue()
{
    int ele;
    if (rear == MAX - 1)
    {
        cout<< "queue overflow" <<endl;
    }
    else
    {
        if (front == -1)
        {
            front = 0;
        }
        cout <<"enter the ele:";
        cin >> ele;
        queue[rear] = ele;
        rear++;
    }
}
4

1 回答 1

0

从这个函数来看,队列的前面似乎在索引 0 处。元素被添加到增加的数组位置。示例:您的队列有 2 个元素:索引 0 处的 ele1,索引 1 处的 ele2。您在索引 2 处添加另一个元素(此时 2 等于后)。您增加后部(后部++)以稍后添加下一个元素。

正如 Sami 所提到的,索引 -1 在 C++ 数组中不存在。

于 2020-06-11T05:53:45.677 回答