栈和队列是常用数据结构(逻辑),它们都属于线性结构,与普通的线性表有所不同,栈和队列对插入与删除元素有自己的特殊规定限制。
栈(stack)里的元素总是后进先出(LIFO,Last In First Out),插入一个新元素叫压栈,删除一个元素叫出栈。压栈将元素添加到栈顶,出栈会从栈顶取走一个元素。栈的常见应用有数制转换、表达式匹配求值。
队列(queue)的规则是先进先出(FIFO, First In First Out),如同日常的排队一样。进队从队列尾部增加一个元素,出队从队列首部取走一个元素。