编程实现一个顺序栈的各种基本运算(stacksize为5),然后设计主程序实现依次将字符串zhangsan、lisi、wangmazi、zhanglon
时间: 2024-10-22 07:19:02 浏览: 51
在编程中,我们可以使用数组或链表数据结构来实现一个简单的顺序栈。这里我们以数组为例,给出一个基础的顺序栈实现,包括初始化、压栈(push)、弹栈(pop)和检查是否为空(isEmpty)等基本操作。假设栈的最大容量为5。
```python
class SimpleStack:
def __init__(self, stack_size=5):
self.stack = [None] * stack_size
self.top = -1
def is_empty(self):
return self.top == -1
def push(self, item):
if not self.is_full():
self.top += 1
self.stack[self.top] = item
else:
print("Stack is full. Cannot push.")
def pop(self):
if not self.is_empty():
item = self.stack[self.top]
self.stack[self.top] = None
self.top -= 1
return item
else:
print("Stack is empty. Cannot pop.")
def is_full(self):
return self.top == len(self.stack) - 1
# 主程序实现插入元素
def main():
stack = SimpleStack()
elements = ["zhangsan", "lisi", "wangmazi", "zhanglong"]
for element in elements:
stack.push(element)
while not stack.is_empty():
print(stack.pop())
# 运行主程序
if __name__ == "__main__":
main()
```
在这个例子中,主程序会依次将字符串添加到栈中,然后按照先进后出(LIFO)的原则逐一弹出并打印出来。
阅读全文