一直以来都把数据结构这门课中学习到的栈称为堆栈,但是最近在学习C#语言时,读到这么一句话:值型变量在栈中分配内存;引用型变量在堆中分配内存。这时感觉栈和堆应该是两个不同的概念,查了一下书,书上是这么说的。
栈:限定仅在表尾进行插入和删除操作的线性表。
堆:n个元素的序列{k1,k2....kn}当且仅当满足下列关系时称为堆。 要满足的条件如下:
一直以来都把数据结构这门课中学习到的栈称为堆栈,但是最近在学习C#语言时,读到这么一句话:值型变量在栈中分配内存;引用型变量在堆中分配内存。这时感觉栈和堆应该是两个不同的概念,查了一下书,书上是这么说的。
栈:限定仅在表尾进行插入和删除操作的线性表。
堆:n个元素的序列{k1,k2....kn}当且仅当满足下列关系时称为堆。 要满足的条件如下: