栈的概念
栈(stack)是限定只能在表尾进行插入和删除操作的线性表。
栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。
允许插入和删除的一段称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。
栈的插入操作,叫做进栈,也称压栈、入栈。(push)
栈的删除操作,叫做出栈,也有叫做弹栈。(pop)
栈的存储方式
栈的顺序存储结构
栈的链式存储结构
两种方式的比较:
时间性能:两种存储方式的入栈和出栈的时间复杂度都为O(1)。
空间性能:顺序栈需要事先确定一个固定长度,可能会存在内存空间浪费的问题,但它的优势是存取性能高。
而链栈则要求每个元素都有指针域,这同时也增加了一些内存开销,但对于栈的长度无限制。
两栈共享空间
时间: 2024-11-03 20:54:09