堆栈与数组,推送和弹出

时间:2016-09-12 08:26:04

标签: arrays stack

  

考虑“堆栈与数组”问题的算法,即算法   将堆栈实现为动态数组。假设我们执行30次推送,然后是20次弹出,   然后又推了20次。阵列的长度是多少?记住,长度   数组是指创建数组时指定的长度;它并不代表数量   存储在数组中的元素。

我有点困惑,答案是30?它没有真正指定何时创建/有多大

编辑******

我已经查看了我的笔记和。

我们这么说 1(与之前相同)如果其中有整数,则数组A已满 等于它的长度。 如果其中的整数数等于其的1/4,则稀疏 长度(我们将确保长度是4的倍数)

其中m =数组长度

如果m≤4,只需将S的所有元素保存在长度为4的数组中,其中 元素的排序顺序与插入顺序相同。 接下来,我们假设m> 4。

推送

(m≥4) 初始化数组A. 0的长度为2n。 将A的所有n个元素复制到A1。 销毁A,并将其替换为A1

Pop(m≥4) 按如下方式执行pop: 返回A的最后一个元素,并将n减1.如果A稀疏, 缩小数组如下: 初始化长度为2n的数组A1。 将A的所有n个元素复制到A1 销毁A,并将其替换为A1

知道这个im假设数组长度是32?

0 个答案:

没有答案
相关问题