栈的顺序存储结构

栈的定义:

栈是一个后进先出的线性表,它要求只在表尾进行删除和插入操作。

所谓栈是一种特殊的线性表(顺序表和链表),但是它在操作上有一些特殊的要求和限制:

栈的元素必须后进先出;

栈的操作只能在这个线性表的表尾进行;

对于栈来说,这个表尾称为栈的栈顶;相应的表头称为栈底;

栈的插入操作,称作进栈,也称为压栈;

栈的出栈称为出栈,或者弹栈;

栈的顺序存储结构:

因为栈的本质是一个线性表,线性表有两种存储形式,那么栈有也有两种分为栈的顺序存储结构和栈的链式存储结构;

最开始,栈中不含有任何数据,叫做空栈,此时栈顶就是栈底;然后数据从栈底进入,栈顶栈底分离,栈的容量变大;数据出栈时从栈顶弹出,整个栈的容量变小。


栈的顺序存储结构_第1张图片
栈结构

栈底是低地址,栈顶是高地址。


栈的顺序存储结构_第2张图片
数据结构


栈的顺序存储结构_第3张图片
压栈

注意:top和base都是指针,top指向栈顶,base指向栈底。当top和base的指针相同时,为空栈。

你可能感兴趣的:(栈的顺序存储结构)