顺序栈中的清空栈的函数

清空栈函数函数体中为何另top=-1,就可清空栈,栈的数据元素不还在内存里吗?怎么能算清空

数据虽然还在原来的位置没有消失,但是已经不属于栈的管理范围了

数组实现的数据还在,在计算机中很多时候都是这样的思想,top= -1就表示了栈已经为空了。比如说当我们删除一个文件时我们直接删除文件的索引,就认为这个文件删除了,但文件的本身的内容并没有删除。

看你是怎么实现的堆栈,如果是数组,这么做就可以了。如果是动态分配的空间,这么做会造成内存泄漏。

数据虽然还在并且没有被清空,但是你的top=-1的时候,如果有元素入栈会+1以后从0的位置覆盖掉原来的数据
输出的时候也只会输出到top的位置,清不清空都对结果没有什么影响

数据虽然还在,但是对你来说已经无效了~