一道数据结构题,如图第2题,请问,为什么这里(圈1)和(圈2)不选择上溢或者下溢?

另外,可以举一下上溢和下溢在什么情况下选择?谢谢... 另外,可以举一下上溢和下溢在什么情况下选择?谢谢 展开
 我来答
我期待幸运时间
2019-11-21
知道答主
回答量:29
采纳率:60%
帮助的人:4.3万
展开全部
发生上溢和下溢说明程序的操作已经有越界行为,访问已经超出了栈所占有的空间,非法内存读写操作,这种情况下,程序的状态是不可预测的,可能会导致数据错乱,也可能会崩掉。

所以必须在发生上溢、下溢之前,进行检查,避免这些情况的发生。例如,进栈前,检查栈是否满,若已满,则需要先扩展栈空间,然后再压入;退栈前,检查栈是否为空,若为空则不弹出。
程序中通常要对两种边界情况进行检测(空、满),而不能对已经发生的溢出状态进行判断,因为程序状态可能已经不正常了,无法判断。
上海华然企业咨询
2024-10-30 广告
在上海华然企业咨询有限公司,我们深刻理解大模型测试对于确保数据准确性、提升业务效率及优化用户体验的重要性。我们的测试团队专注于对大模型进行全面而细致的评估,涵盖性能稳定性、预测准确性、响应速度及兼容性等多个维度。通过模拟真实业务场景,我们力... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式