> 文档中心 > 【数据结构】栈和队列

【数据结构】栈和队列

栈和队列的结构比较简单,里面的操作也比较少,如果你之前实现过顺序表和链表的话,那么栈和队列的实现就很简单,具体实现这里略过

目录

1.栈和队列的概念

2.Stack

3.Queue


1.栈和队列的概念

栈和队列都也属于线性表,二者的特点如下:

栈:只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈
顶,另一端称为栈底,最先进入栈的元素最后出去

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作,进行插入操作的一端称为队尾,进行删除操作的一端称为队头,最先进入队列的元素最先出去

2.Stack

Java中栈的泛型类叫做Stack,栈里面的所有的操作如下:

E push(E e) 栈顶插入元素(入栈)
E pop() 删除栈顶元素(出栈)
E peek() 获取栈顶元素,但不删除
int size() 获取栈中有效元素个数
boolean empty() 检测栈是否为空

3.Queue

Java中Queue是一个接口,其底层是用链表实现的,所以使用队列时实例化的对象依旧是LinkedList

队列的操作:

boolean offer(E e) 入队列
E poll() 出队列
peek() 获取队头元素
int size() 获取队列中有效元素个数
boolean isEmpty() 检测队列是否为空

栈和队列的内容就结束了,重点依旧是后面的OJ题,完