栈(stack)的定义:
称为堆栈,运算受限的线性表
其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作
进行插入、删除一端为栈顶(top),保存元素为栈顶元素
另一端为栈底(bottom)
无元素为空栈、插入元素为进栈或入栈、删除元素为出栈或退栈
由于栈的插入和删除仅在栈顶进行,后进栈的元素必定先出栈,堆栈称为 后进先出表(LIFO)
操作:push(入)、pop(出)、peek(获取)
队列(queue)定义:
也是受限的线性表,一端插入、一端删除
插入一端为队尾(rear)、删除一端为队首(front)
队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。
因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出表(fifo)
Java中实现栈和队列操作都可以通过使用LinkedList类实现,底层为链表