栈和队列

栈(stack)的定义:                                                                             

称为堆栈,运算受限的线性表

其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作

进行插入、删除一端为栈顶(top),保存元素为栈顶元素

另一端为栈底(bottom)

 

无元素为空栈、插入元素为进栈或入栈、删除元素为出栈或退栈

由于栈的插入和删除仅在栈顶进行,后进栈的元素必定先出栈,堆栈称为 后进先出表(LIFO)

操作:push(入)、pop(出)、peek(获取)

队列(queue)定义:                                                                                                    

也是受限的线性表,一端插入、一端删除

插入一端为队尾(rear)、删除一端为队首(front)

队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。

因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出表(fifo)

Java中实现栈和队列操作都可以通过使用LinkedList类实现,底层为链表

原文地址:https://www.cnblogs.com/lhl0131/p/12404962.html