堆栈的总结

来源:互联网 发布:c语言中各类数据 编辑:程序博客网 时间:2024/06/05 20:38

堆栈的归纳总结

栈:
1.先进先出;
2.由操作系统进行动态释放内存,局部变量的值,类似数据结构中栈操作push pop 操作;
3.使用一级缓存(存储器山),速度快于堆,调用时在存储空间中,调用完毕就释放。

堆(队):
1.先进后出;
2.由程序员进行分配释放,若程序员不释放,则程序结束时由操作系统释放;
3.分配方式类似链表操作;
4.存放在二级缓存中,生命周期是有虚拟机决定的,速度相对慢一点;
5.数据机构可以看成树(还记得大根堆小根堆的排序结构和公式吗?)

总结: 堆栈只能在一端进行数据的插入删除,它们只是用数据结构的方法来对数据进行操作,不是存储数据,所以选择堆还是栈,主要考虑堆栈的效果和操作方法的不同。额外:在机器级角度上,堆栈数据结构在编译和子程序的调用上很有用;堆栈的数据表示是在cashe中实现,有物理器件。
原创粉丝点击