data-structures - 栈是哪种类型的数据结构?

标签 data-structures stack

我有一个简单的问题:栈是哪种数据结构?它是静态的还是动态的数据结构?我一直在寻找答案但找不到它,因此我得到了自己的“解释” - 我想,当你可以通过使用数组或链表来实现它时,它可以......两者都?,取决于关于实现?我的推理有道理吗?

最佳答案

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

无论其实现如何,无限容量的堆栈都是动态数据结构。它可以通过链表或数组来实现,在达到其容量时重新分配,但此类堆栈的大小会随着您添加或删除数据而变化。

关于data-structures - 栈是哪种类型的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34913353/

相关文章:

c - 为什么我在查找二叉搜索树的高度时得到不同的输出?

java - 找到随机国家,但选择人口较多国家的概率应该更高

c++ - 在声明中合并两个常量 `std::set`(不是在运行时)

c - 为什么我的代码破坏了堆栈?我该如何修复它?

c - 链表推送功能

c - ‘;’ token 之前出现错误 : expected ‘,’ , ‘)’ 或 ‘.’

perl - 如何维护添加到Perl哈希中的键的顺序?

c - 终于在 C 中实现了我的堆栈链表,但是有没有比我更简单的方法?

linux - 为什么堆栈必须页面对齐?

c++ - 栈结构数组