堆、栈和队列的区别

来源:互联网 发布:淘宝网不能访问 编辑:程序博客网 时间:2024/06/05 02:14

1、堆和栈

1)堆(完全二叉树,可以看成一棵树的数组对象)是指程序运行时申请的动态内存,而栈只是指一种使用堆的方法(即先进后出);

2)堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间;

3)栈区由编译器自动分配释放,堆区由程序员分配释放


2、栈和队列

1)的插入和删除操作都是在一端进行的(只允许在表尾进行插入和删除),而队列的操作却是在两端进行的(在表尾插入,表头删除);

2)栈是先进后出队列是先进先出





原创粉丝点击