QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
87
查看: 406|回复: 7

课时24关于销毁一个栈的代码为什么先释放了栈底?

[复制链接]
最佳答案
1 
累计签到:27 天
连续签到:1 天
selantor 发表于 2018-2-10 18:18:26 4067 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
栈不是一个后进先出的线性结构吗,小甲鱼老师在24课时的代码中销毁一个栈时for循环执行的是free(s->base),是否有问题?
楼层
跳转到指定楼层
最佳答案
831 
累计签到:347 天
连续签到:87 天
ba21 发表于 2018-2-10 18:20:07 | 显示全部楼层
上代码
最佳答案
1 
累计签到:27 天
连续签到:1 天
selantor  楼主| 发表于 2018-2-10 18:22:35 | 显示全部楼层
代码在此
微信图片_20180210182214.png
最佳答案
1 
累计签到:27 天
连续签到:1 天
selantor  楼主| 发表于 2018-2-10 18:29:17 | 显示全部楼层

你好看到了吗
最佳答案
831 
累计签到:347 天
连续签到:87 天
ba21 发表于 2018-2-10 19:16:07 | 显示全部楼层

从top 开始 和从base 开始都可以。
好比你要删除桌面上的文件,从第1个开删,和从最后1个开始删一个意思。哪个方便用哪个。

最佳答案
1 
累计签到:27 天
连续签到:1 天
selantor  楼主| 发表于 2018-2-10 22:48:03 | 显示全部楼层
ba21 发表于 2018-2-10 19:16
从top 开始 和从base 开始都可以。
好比你要删除桌面上的文件,从第1个开删,和从最后1个开始删一个意思 ...

但是问老师老师坚持说无论如何都不可能在栈底进行操作,栈是限制在一段进行操作的线性结构,并说如果base在这指的是栈底指针的话程序就是错的
最佳答案
831 
累计签到:347 天
连续签到:87 天
ba21 发表于 2018-2-11 22:37:17 | 显示全部楼层
selantor 发表于 2018-2-10 22:48
但是问老师老师坚持说无论如何都不可能在栈底进行操作,栈是限制在一段进行操作的线性结构,并说如果base ...

我也不知道他有没有说过。这只是编程模拟  栈 的操作。是一个线性表,你要怎么操作就怎么操作。
最后 再说了 都要 销毁栈 了还管他从上还是从下。销毁什么都没了
最佳答案
1 
累计签到:27 天
连续签到:1 天
selantor  楼主| 发表于 2018-2-14 20:22:45 | 显示全部楼层
请问这个问题从栈顶开始操作会不会更严谨一点?
从栈顶操作是将i改为栈顶下标然后循环改为i--然后free(s->top);s->top--;
这样改可以吗

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-5-25 22:42

快速回复 返回顶部 返回列表