栈 (stack)是一种操作受限的线性表。栈具有线性表的结构特点:除了第一个元素和最后一个元素外,其他元素只有一个前驱元素和一个后继元素。栈的限制在于它只允许在表的一端进行插入和删除操作。在日常生活中,有许多栈的例子,进制转换、表达式求值、括号匹配使用的都是栈的“后进先出”设计思想。