课时24关于销毁一个栈的代码为什么先释放了栈底?
栈不是一个后进先出的线性结构吗,小甲鱼老师在24课时的代码中销毁一个栈时for循环执行的是free(s->base),是否有问题? 上代码 代码在此 ba21 发表于 2018-2-10 18:20上代码
你好看到了吗 selantor 发表于 2018-2-10 18:29
你好看到了吗
从top 开始 和从base 开始都可以。
好比你要删除桌面上的文件,从第1个开删,和从最后1个开始删一个意思。哪个方便用哪个。
ba21 发表于 2018-2-10 19:16
从top 开始 和从base 开始都可以。
好比你要删除桌面上的文件,从第1个开删,和从最后1个开始删一个意思 ...
但是问老师老师坚持说无论如何都不可能在栈底进行操作,栈是限制在一段进行操作的线性结构,并说如果base在这指的是栈底指针的话程序就是错的 selantor 发表于 2018-2-10 22:48
但是问老师老师坚持说无论如何都不可能在栈底进行操作,栈是限制在一段进行操作的线性结构,并说如果base ...
我也不知道他有没有说过。这只是编程模拟栈 的操作。是一个线性表,你要怎么操作就怎么操作。
最后 再说了 都要 销毁栈 了还管他从上还是从下。销毁什么都没了 请问这个问题从栈顶开始操作会不会更严谨一点?
从栈顶操作是将i改为栈顶下标然后循环改为i--然后free(s->top);s->top--;
这样改可以吗
页:
[1]