栈和队列
栈和队列是两种重要的线性结构,从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此可称为限定性的数据结构,但从数据类型角度看,它们是和线性表大不相同的两类重要的抽象数据类型。
栈
栈是限定仅在表尾进行插入和删除的线性表,因此对栈来说,表尾端有其特殊含义,称为栈顶,表头端称为栈底,不含元素的空表称为空栈。栈的修改是按后进先出的原则进行的。
顺序栈的实现
链栈的实现
队列
和栈相反队列是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素。
链式队列的实现