栈(Stack)是一种特殊的线性数据结构,具有以下特点:
后进先出(LIFO, Last In First Out):
栈中最后加入的元素会最先被移除。
单一操作端:
所有操作,包括插入和删除,都在栈的顶端(栈顶)进行。
顺序访问:
只能访问位于栈顶的元素,不能直接访问栈中的其他元素。
栈顶和栈底:
允许元素进行插入和删除操作的一端称为栈顶,与栈顶对应的另一端称为栈底,栈底通常不允许进行元素操作。
空栈:
当栈中没有元素时,称为空栈。
栈容量:
如果栈有有限容量,则栈容量表示栈可以容纳的最大元素数量。
栈常用于解决表达式求值、括号匹配、递归算法、回溯算法等问题