编写程序,模拟栈操作。 要求:栈的操作包括入栈、出栈、查看栈顶元素、栈的长度、栈是否为空、退出。 提示: (1)使用列表实现。列表是组合数据类型中非常重要的一种。列表的常用操作,包括添加列表元素 append()、移除并返回列表的最后一个元素 pop()、列表元素个数 len(),以及根据索引访问列表元素,并以此模仿栈的操作。 (2)列表的元素可以用索引表示,如stack[i]表示stack列表中的第i-1个元素,索引可以为负数;stack[-1]表示列表中的最后一个元素。在不确定列表长度的情况下,用这种方法表示列表的末尾元素十分方便。
时间: 2024-03-17 07:43:37 浏览: 73
好的,以下是Python代码实现:
```python
# 定义一个空列表,用于模拟栈
stack = []
# 定义栈的操作函数
def push():
# 入栈操作,将元素添加到列表尾部
element = input("请输入入栈元素:")
stack.append(element)
print("入栈成功!")
def pop():
# 出栈操作,弹出列表最后一个元素
if len(stack) == 0:
print("栈已空,无法进行出栈操作!")
else:
element = stack.pop()
print("出栈元素为:", element)
def peek():
# 查看栈顶元素,即列表最后一个元素
if len(stack) == 0:
print("栈为空!")
else:
element = stack[-1]
print("栈顶元素为:", element)
def size():
# 查看栈的长度,即列表元素个数
length = len(stack)
print("栈的长度为:", length)
def is_empty():
# 判断栈是否为空
if len(stack) == 0:
print("栈为空!")
else:
print("栈不为空!")
# 主程序循环,接受用户输入的操作
while True:
print("请选择栈的操作:")
print("1. 入栈")
print("2. 出栈")
print("3. 查看栈顶元素")
print("4. 查看栈的长度")
print("5. 判断栈是否为空")
print("6. 退出")
choice = input("请输入操作编号:")
if choice == "1":
push()
elif choice == "2":
pop()
elif choice == "3":
peek()
elif choice == "4":
size()
elif choice == "5":
is_empty()
elif choice == "6":
print("程序已退出!")
break
else:
print("输入有误,请重新输入!")
```
这段代码定义了一个空列表`stack`,用于模拟栈。然后定义了五个操作函数,分别对应栈的五个操作:入栈、出栈、查看栈顶元素、查看栈的长度和判断栈是否为空。主程序循环,接收用户输入的操作,并根据用户的选择调用相应的操作函数。当用户输入6时,程序退出循环,结束运行。
阅读全文