队列上的问题
为什么两个地址是一样的啊。。
求大神帮忙。。 {:5_91:}你试试哪个能用 32行int ENQueue里面的参数出了问题。如果要对队列进行操作,不能只传给函数复制的参数,而应该传入引用类参数。
解决方案:改写成int ENQueue(struct LinkQueue &Q,int e)
原来的写法相当于把a这个队列复制过去,在ENQueue里面进行了操作,当ENQueue函数执行完毕之后,a这个队列的复制体发生了改变,这时候Q->front!=Q->rear,但是这并没有修改a这个队列,所以这时候a->front=a->rear
引用队列到ENQueue函数内会使队列改变,成功插入结点。
页:
[1]