建立对应数据结构; 将栈抽象数据类型由类似于下面的结构和操作定义,stack()、push(item)、pop()、peek()、isEmpty()、size()。
时间: 2024-12-18 11:22:13 浏览: 13
建立栈(Stack)这一抽象数据类型,通常涉及创建一个数据结构,它支持基本的线性存取顺序,最常见的是“先进后出”(Last In First Out, LIFO)原则。以下是栈的典型定义及其主要操作:
1. **stack()**: 创建一个空栈。这个操作初始化一个全新的栈对象,初始状态下没有任何元素。
2. **push(item)**: 将元素添加到栈顶。这是向栈中添加新数据的操作,相当于把物品放到栈顶。
3. **pop()**: 从栈顶移除并返回最后一个放入的元素。这个操作会改变栈的状态,移除顶部元素,并返回其值。
4. **peek()**: 查看栈顶元素但不移除。这个操作可以查看当前栈顶的内容,而不会改变栈的状态。
5. **isEmpty()**: 检查栈是否为空。如果栈中没有元素,该函数返回True;否则返回False。
6. **size()**: 返回栈中元素的数量。这个操作用于获取栈的大小,即已入栈的元素数目。
在Python中,可以使用列表作为底层实现栈,例如:
```python
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
if not self.isEmpty():
return self.items.pop()
def peek(self):
if not self.isEmpty():
return self.items[-1]
def isEmpty(self):
return len(self.items) == 0
def size(self):
return len(self.items)
```
阅读全文