数据结构解读看堆栈
堆栈都数据数据结构的范畴,在很多的数据结构书里面,会以“堆栈”一词来形容这种数据结构。但是从数据结构的角度看。“堆”和“栈”是两个不一样的东西。
栈(stack):简单的说就是“先进后出”。详细的可以看“数据结构”相关数据。
堆(head):也称为优先队列(priority queue),和“队列类似”,从堆顶取元素,在堆底加入元素。关于堆,这个博文写的挺好的,
堆栈在功能上也是两个不一样的东西。
栈(stack):由编译器自动分配和释放,函数的参数,局部变量,调用先后都存在这里。
堆(head):在写代码的时候分配和释放。有初始化的全局变量和静态变量,未初始化的全局变量和静态变量都是存在这里,初始化和未初始化的变量是分开存放的且都在堆里面。