首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

关于队列,该如何处理

2013-01-25 
关于队列大家好,请问一个问题:假定一个带附加表头节点的循环链队的队首和队尾指针分别用front和rear表示,

关于队列
  大家好,请问一个问题:假定一个带附加表头节点的循环链队的队首和队尾指针分别用front和rear表示,判断对空的条件是front == rear。那么队列只有一个元素节点的判断条件是不是也是front == rear呢?
[解决办法]
不是,front->next = rear说明是一个元素,因为有一个附加表头
[解决办法]

引用:
  大家好,请问一个问题:假定一个带附加表头节点的循环链队的队首和队尾指针分别用front和rear表示,判断对空的条件是front == rear。那么队列只有一个元素节点的判断条件是不是也是front == rear呢?

循环队列无法由去q.front==q.rear判断队列是满还是空。有两种解决方法一是设置标志位,二是少用一个元素空间。if((q.rear+1)%MaxQSize==q.front)判断队列满。
非循环的单链队,空的判断条件是q.front->next=NULL.
[解决办法]
引用:
请问1楼的朋友,如果只有一个元素,那么rear->next 等于 front,还是等于附加表头呢?

front总是指向附加表头。
[解决办法]
引用:
另外,请问非循环的单链队,为什么空和只有一个结点的判断条件都是front == rear呢?与循环的链队为什么不一样?谢谢!

如果带了头节点的话,front == rear 判断空是不对的。自己在纸上画画就知道了。

热点排行