发新话题
打印

关于队列插入的一个问题!!!

关于队列插入的一个问题!!!

谁能帮助解决一下啊?谢谢了.

问题是这样的:插入新的元素e为Q的新的队尾元素.

教材中的队列插入算法是这样写的:

Status EnQueue(SqQueue &Q, QElemType e)

   {

       if((Q.rear+1)%MAXSIZE==Q.front) return error;

       Q.base[Q.rear]=e;//第一句

       Q.rear=(Q.rear+1)%MAXZISE;//第二句

       return OK;

}

我觉得第一句和第二句的顺序好象反了,应该是队尾先后移再赋值.

请大家帮帮看看.谢谢.

TOP

没有反啊!

Q.rear是指向队列的最后一个元素的下一个位置的,所以先赋值后移到下一个位置的.

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

发新话题