2 sinat 34927324 sinat_34927324 于 2016.05.11 23:34 提问

顺序栈中的清空栈的函数

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

5个回答

wll1228
wll1228   2016.05.12 07:16
已采纳

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

beifengche
beifengche   2016.05.12 15:30

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

caozhy
caozhy   Ds   Rxr 2016.05.11 23:34

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

sinat_34927324
sinat_34927324 嗯嗯,顺序栈就是栈基于数组的存储表示嘛
一年多之前 回复
qq423399099
qq423399099   Ds   Rxr 2016.05.12 08:33

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

VisualEleven
VisualEleven   Ds   Rxr 2016.05.12 17:48

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!