前边我们完成了线性表的链式存储结构。我们在这里回顾一下:
在线性表的链式存储结构中:
线性表有一个个节点组成,结点中包含数据域和指针域,其中数据域是用来存放数据的,指针域用于存放下一结点的地址,
由于在链表中各个节点之间的空间位置不一定连续,所以为了充分利用空间,产生了链表。。
我们既然可以实现线性表的链式存储结构,那么对于一类的栈,队列,是不是也可以实现链式存储结构呢?
接下来我们看一看栈的链式存储结构:
栈的链式存储结构
首先我们来理一理栈的结构:
栈是一种先进先出的结构,那我们如何通过链式结构实现呢?
栈是通过特殊处理的线性表,我们可以按照通过数组实现栈的思路来通过链的形式实现栈,那他依旧需要实现栈只一个结构:
实现栈的接口:
stack
int getSize(); //栈中有效元素的个数
boolean isEmpty();判读栈是否为空
void push(E e);//进栈一个元素;
E pop();//栈顶
E peek();//弹栈
void clear();//清空栈;