在数据结构中,栈是一种线性表,而且是只可在表的一端进行插入和删除运算的线性表;而堆是一种树形结构,其满中树中任一非叶结点的关键字均不大于或不小于其左右子树的结点的关键字。延伸一点,不同的编程语言在内存分配中就存在堆,栈之分如:java中对象创建方式堆中创建而c++在堆中或栈中均可创建