编写一个程序实现顺序存储栈的各种基本运算的程序,
时间: 2024-10-27 15:07:53 浏览: 18
顺序栈与链栈的实现
编写一个顺序存储栈的基本运算程序通常涉及以下几个步骤:
1. **定义栈结构**:首先,你需要创建一个数据结构,比如数组或链表来作为栈的基础。在顺序存储的栈中,一般会选择动态数组(如Python中的列表),因为它们提供了一种简单的方式来操作元素。
```python
class Stack:
def __init__(self):
self.stack = []
```
2. **初始化**:创建一个空栈实例。
3. **入栈(push)**:当有新元素需要添加到栈顶时,调用`append()`方法。
```python
def push(self, item):
self.stack.append(item)
```
4. **出栈(pop)**:从栈顶移除并返回元素的操作,可以用`pop()`方法,如果栈为空则抛异常。
```python
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
raise IndexError("Stack is empty")
def is_empty(self):
return len(self.stack) == 0
```
5. **查看栈顶元素(peek)**:查看当前栈顶元素,但不删除,可以使用`[-1]`索引来访问但不改变列表内容。
```python
def peek(self):
if not self.is_empty():
return self.stack[-1]
else:
raise IndexError("Stack is empty")
```
6. **获取栈大小(size或length)**:检查栈中元素的数量。
```python
def size(self):
return len(self.stack)
```
7. **演示基本操作**:为了完整展示,你可以编写一个简单的主函数来测试这些操作。
```python
def main():
stack = Stack()
stack.push(1)
stack.push(2)
print("Top element:", stack.peek()) # 输出: 2
print("Pop element:", stack.pop()) # 输出: 2
print("Size:", stack.size()) # 输出: 1
if __name__ == "__main__":
main()
```
阅读全文