栈:
栈**(也称******下压栈******、堆栈)是******仅允许在表尾****进行插入和删除操作的线性表。
我们把允许插入和删除的一端称为****栈顶******,另一端称为******栈底******。栈是一种******后进先出****的线性表,
简称LIFO结构。
栈的操作:
- Stack() 创建一个新的空栈
- push(item)添加一个新的元素item到栈顶
- pop()弹出栈顶元素
- peek()返回栈顶元素
- is_empty()判断栈是否为空
- size()返回栈的元素个数
队列:
队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
队列的操作**:**
- Queue()创建一个空的队列
- enqueue(item)往队列中添加一个item元素
- dequeue()从队列头部删除一个元素
- is_empty()判断一个队列是否为空
- size()返回队列的大小
栈与队列的区别:
栈与队列,他们都是特殊的线性表,只是对插入和删除操作做了限制。**
(1、
栈限定仅能在栈顶进行插入和删除操作,而队列限定只能在队尾插入,在队头删除。
(2、
栈:后进先出 后进来的元素先出去 只允许在栈顶进行添加和删除
队列:先进先出 先进来的元素先出去 **在队尾插入,在队头删除
共同点:
他们都可以使用顺序存储结构和链式存储结构两种方式实现