(1)栈又称为堆栈,它是运算受限的线性表。其限制是仅允许在表的一端进行插入和删除操作,不允许其他任何位置进行插入、查找和删除等操作。
(2)表中进行插入、删除操作的一端称为栈顶,栈顶保存的元素称为栈顶元素。相对的,表的另一端称为栈底。
(3)当栈中没有数据元素时称为空栈;
(4)向一个栈插入元素又称为进栈或入栈,从一个栈中删除元素又称为出栈或退栈。
(5)由于栈的插入和删除操作仅在栈顶进行, 后进栈的元素必定先出栈;所以又把堆栈称为后进先出表


(1)顺序栈
顺序栈是使用顺序存储结构实现的堆栈,即利用一组地址连续的存储单元一次存放堆栈中的数据元素
(2)链栈
链栈即采用链表做为存储结构实现的栈
(1)队列简称队,它同堆栈一样,也是一种运算受限的线性表
(2)其限制是仅允许在表的一端进行插入,而在表的另一端进行删除
(3)在队列中把插入数据元素的一端称为队尾,删除数据的一端称为队首
(4)向对尾插入元素称为进队或入队,新元素入队后成为新的对尾元素;从队列中删除元素称为离队或出对,元素出对后,其后续元素成为新的队首元素
(5)由于队列的插入和删除操作分别在对尾和对首进行,每个元素必须按照进入的次序离队,也就是说先进队的元素必然先离队,所以称队列为先进先出表。

(1)顺序队列


(2)链式队列
队列的链式存储可以使用单链表来实现



注意:LinkedList可以当做栈,队列以及线性表来用