出栈(退栈)的含义?

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:34:17
我用数组做一个顺序栈,出栈操作
返回栈顶的元素
同时需不需要把这个栈顶的元素删掉?

我看见一些书上出栈操作仅仅是返回当前栈顶元素
栈顶指针-1
这样栈的空间不是没有释放吗??

还是我对出栈的理解错了

并不需要每次出栈都将栈顶的元素的空间释放掉,
释放掉地画下一次元素进栈还得重新分配整个栈的空间,倒腾栈中的数据,那样太费时间.
栈顶指针-1,就表示栈顶元素出栈,并被删除,下一次元素进栈,只要栈顶指针+1,并不会影响栈操作.

如果你将指向栈顶元素的指针先释放掉的话那么这个指针不就是野指针了吗呵呵。

出栈 pop(),即删除栈顶元素
然后将返回指向栈顶的元素的函数修改一下