在此代码中,rear ++是在队列中分配元素之后,即queue [rear] = ele;因此队列元素将从索引-1开始,后置位置为-1。后排++在队列之后如何工作?
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++;
}
}
最佳答案
通过此功能,队列的前面似乎在索引0处。
将元素添加到增加的数组位置。
示例:您的队列有2个元素:
ele1位于索引0,ele2位于索引1。
您在索引2处添加了另一个元素(此时2等于后)。
您增加后方(rear ++),以便以后添加下一个元素。
正如Sami所说,索引-1在C++数组中不存在。
关于c++ - 入队功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62317631/