首页 新闻 会员 周边 捐助

循环列表假溢出现象

1
悬赏园豆:200 [已解决问题] 解决于 2012-08-20 16:43

想向大家请教一下,如何让判断一个循环列表队列为空还是满,还有如何解决假溢出现象

Niexin的主页 Niexin | 初学一级 | 园豆:20
提问于:2010-11-08 20:57
< >
分享
最佳答案
0

定义:

1、该循环列表使用数组描述

2、包含三个元素(int值):头索引(Head)、尾索引(Tail)、循环队列大小(Size)、队列指针首地址即数组地址(QBuffer)

解决方案:

1、如何判断循环队列为空还是满:

  1> 为空:Head==Tail?true:false;

  2> 为满:(abs(Tail-Head)+Size+1)%Size==0?true:false;

2、如何解决假溢出现象

  1> 严格按照队列的方式进行操作;

  2> 弹出数据: Head=(Head+1)%Size; return QBuffer[(Head+Size-1)%Size];

  3> 压入数据: if(不满) { Tail=(Head+1)%Size; QBuffer[Tail]=newData; }

3、若依此计汝患即可痊愈……

收获园豆:200
WJ9527 | 菜鸟二级 |园豆:405 | 2010-11-10 14:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册