首页 > 试题广场 >

堆栈区别

操作系统: 
1.堆是有码畜(😜)分配和释放的,如果码畜不释放分配的内存,在程序结束时可能有操作系统回收;
   栈是由编译器自动分配和释放的。使用栈就类似于住酒店,不需要收拾房子,使用堆就像在自己家,卫生要自己打扫.
2.堆是持久性变量,全局有效。栈上的变量为局部变量,函数参数等,局部有效。
数据结构:
1.栈就类似一个箱子,先放入的东西在下面,取出要等到上面的取完。(FILO)
2.堆时一个满足父子节点大小关系的一种完全二叉树。其有严格的定义:存在n个元素的序列{k_1,k_2,k_3,...k_n},当且仅当满足(k_i<=k_2i, k_i<=k_2i+1)或者(k_i>=k_2i, k_i>=k_2i+1)
        
发表于 2019-11-26 00:41:24 回复(0)