展开全部 堆栈是实现“后进先出”算法的数据结构。 想象一下,一端开口的小直径竹管。 有几个小球被编号,球的直径略小于竹筒的直径。 您可以通过在竹筒中放入不同数量的球来找到规则。首先放置的小球只能在以后移除,并且可以首先移除可放置的小球。 因此,“渐进慢”是这种结构的一个特征。 堆栈是数据结构。 它打开存储器中的存储区域,并按顺序逐个存储数据(即“推 - 推”)。 有一个地址指针始终指向放置在堆栈上的最后一个数据所在的数据单元。包含地址指针的记录称为堆栈指示符。 启动数据输入的单元称为堆栈的底部。 数据一个接一个地存储,这个过程称为“堆叠”。 在插入过程中,每次将数据插入堆栈时,它们都被放置在连接到前一个单元的下一个单元中,并且堆栈指示器的地址自动递增1。 读取此数据时,数据将读取到堆栈指示器的地址,堆栈指示器上的地址数量将自动减1。 这个过程叫做“pop pop”。 这实现了后进先出原则。 堆栈是计算机上最常用的数据结构之一。例如,函数调用在计算机上的堆栈中实现。 堆栈可以存储在稍后将显示的数组或链表中。 以下是堆栈结构的定义,包括堆栈顶部指针和数据元素数组。 堆栈的顶部指针最初指向-1,并且当存储数据时,堆栈的顶部指针递增1。在检索数据时,堆栈上的顶部指针递减1。 #infineMAX_SIZE100typedefintDATA_TYPE; struct stack{DATA_TYPE data[MAX_SIZE]; inttop;};在C ++中,内存分为五个区域:堆,堆栈,空闲存储,全局/静态存储和常量存储。 电池是变量的存储区域,在需要时由编译器分配,并在不需要时自动删除。 内部变量通常是局部变量,函数参数等。 堆是由新堆分配的内存块,它不关心它的启动编译器,它由我们的应用程序控制,而新的堆通常对应于擦除。 如果程序员没有释放它,操作系统会在程序终止时自动请求它。 免费存储,由malloc等分配的内存块,与堆非常相似,但是免费使用以终止其使用寿命。 全局/静态存储,全局变量和静态变量分配给同一个内存块。在以前的C语言中,全局变量分为初始化和未初始化。C ++没有这样的区别。它们共享相同的内存区域。 固定存储区域,即特殊存储区域。它们保持常量,不能修改。当然,您可以以不恰当的方式修复它们,并且有很多方法。 |