C#中堆栈(Stack)和队列(Queue)
一. 什么是堆?(Heap)
堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的值时,通过垃圾回收器(GC)来回收。是程序运行期间动态分配的内存空间,你可以根据程序的运行情况来确定要分配的堆内存的大小。
二. 什么是栈?(Stack)
栈是有顺序的,是一片连续的内存域,保持着先进后出的原则,有系统自动分配和维护。 是编译期间就分配好的内存空间,因代码中必须就栈的大小有明确的定义。、
表中允许进行插入删除的位置位栈顶(Top),固定的位置为栈底(Bottom)。
即:入栈是从顶部插入 一直都是插入到数据的最顶部; 出栈是从顶部出 始终取出的都是最后一个插入的数据
PS:
线性表(Linear List)是具有相同特性的数据元素的一个有限序列。
堆栈(Stack)