栈(stack) : 栈是一种拥有特殊规则的线性表数据结构,只允许线性表的一端放入数据,之后再这一端取出数据,按照后进先出(lifo)的顺序.

  • 往找中放入元素的过程叫做入钱。入校会增加枝的元素数量,最后放入的元素总是位
    于枝的顶部,最先放入的元素总是位于拢的底部。
    从校中取出元素时,只能从枝顶部取出 。 取出元素后,拢的数量会变少 。最先放入的
    元素总是最后被取出,最后放入的元素总是最先被取出。不允许从枝底获取数据,也不允
    许对找成员(除战顶外的成员)进行任何查看和修改操作 。*

堆(heap) : 堆也是一种数据结构

  • 堆在内存分配中类似于往一个房间里摆放各种家具,家具的尺寸有大有小。分配内存
    时,需要找一块足够装下家具的空间再摆放家具。经过反复摆放和腾空家具后,房间里的
    空间会变得乱七八糟,此时再往空间里摆放家具会存在虽然有足够的空间,但各空间分布
    在不同的区域,无法有一段连续的空间来摆放家具的问题。此时 ,内存分配器就需要对这
    些空间进行调整优化