哪种类型的数据结构是堆栈?

时间:2016-01-21 00:35:30

标签: data-structures stack

我有一个简单的问题:哪种数据结构是堆栈?它是静态或动态数据结构吗?我一直在寻找答案而无法找到答案,因此我得到了自己的解释" - 我想,当你可以通过使用数组或链表实现它时,它可以......两个?,取决于实现?我的推理是否有意义?

2 个答案:

答案 0 :(得分:4)

根据定义,静态数据结构具有固定大小。如果可以将堆栈的大小限制为某个预定数量,则堆栈将成为静态数据结构。它的大小是它的存储大小,加上指示当前位置的堆栈指针或堆栈索引的大小。

无限容量的堆栈是动态数据结构,无论其实现如何。它可以使用链接列表或在达到其容量时重新分配的数组来实现,但是在添加或删除数据时,此类堆栈的大小会发生变化。

答案 1 :(得分:0)

嗯,首先,Stack本身就是一个数据结构。堆栈是可扩展的,可以使用任何实现。虽然堆栈可以固定大小,但它可以包含最大数量的元素。但通常你会认为它是一个随着元素数量的增加而扩展的动态结构。它通常以ADT(抽象数据类型)形式出现,以便使用哪个结构(LinkedList,Array,ArrayList等)来实现它,它的功能和属性总是相同的