栈和队列的结构比较简单,里面的操作也比较少,如果你之前实现过顺序表和链表的话,那么栈和队列的实现就很简单,具体实现这里略过
目录
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题,完