堆和栈的区别

数据结构解读看堆栈

堆栈都数据数据结构的范畴,在很多的数据结构书里面,会以“堆栈”一词来形容这种数据结构。但是从数据结构的角度看。“堆”和“栈”是两个不一样的东西。
栈(stack):简单的说就是“先进后出”。详细的可以看“数据结构”相关数据。
在这里插入图片描述

堆(head):也称为优先队列(priority queue),和“队列类似”,从堆顶取元素,在堆底加入元素。关于堆,这个博文写的挺好的
在这里插入图片描述

堆栈在功能上也是两个不一样的东西。

栈(stack):由编译器自动分配和释放,函数的参数,局部变量,调用先后都存在这里。
堆(head):在写代码的时候分配和释放。有初始化的全局变量和静态变量,未初始化的全局变量和静态变量都是存在这里,初始化和未初始化的变量是分开存放的且都在堆里面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值