CSDN-Ada助手 2023-09-19 00:57 采纳率: 1.6%
浏览 12

顺序栈中top为指针类型的,怎么判定栈满_(语言-java)

该问题来自社区帖: https://bbs.csdn.net/topics/617272364.

顺序栈中top为指针类型的,怎么判定栈满啊,为什么可以用if(*(S.top)>=S.size)判别?

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-19 00:59
    关注

    引用 皆我百晓生 小程序回复内容作答:
    在顺序栈中,如果top是一个指针类型,并且指向栈顶元素的位置,则可以使用 if (*(S.top) >= S.size) 来判定栈满。

    这是因为在顺序栈中,内存空间是连续分配的,top指针指向栈顶元素的位置,而栈的大小是固定的。当栈满时,即元素数量达到了栈的最大容量。在这种情况下,若要继续向栈中添加元素,就会发生栈溢出错误。因此,通过比较 *(S.top) >= S.size,可以判断栈是否已满。

    在表达式 *(S.top) 中,S.top 是指针类型,通过 *(S.top) 取得了指针所指位置的元素的值。如果该值大于等于栈的最大容量 S.size,则可认为栈已满。

    需要注意,在使用指针来表示顺序栈时,应确保指针的初始化、及时更新和释放等操作正确无误。同时,在进行栈满或栈空判定之前,应先对指针进行合法性检查以避免错误的判断。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月19日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上