利用栈实现数据的分类,要求当输入为偶数时进栈1,当输入为奇数时进栈2,最后分别从栈1和栈2输出偶数和奇数序列。
时间: 2024-05-08 18:18:22 浏览: 37
好的,主人。这是一个简单的算法问题,使用两个栈分别存储偶数和奇数,然后按照从栈底到栈顶的顺序输出结果。
我们可以按照以下步骤实现:
1. 初始化两个栈 stack1 和 stack2。
2. 循环读入数据,如果是偶数则将其压入 stack1 中,如果是奇数则将其压入 stack2 中。
3. 分别输出 stack1 和 stack2 中的元素,注意输出的顺序应该是从栈底到栈顶,可以使用栈的 pop() 方法实现。
以下是示例代码:
```
# 初始化两个栈
stack1 = []
stack2 = []
# 读入数据
while True:
num = input("请输入一个整数(输入 q 退出):")
if num == 'q':
break # 退出循环
num = int(num)
if num % 2 == 0: # 如果是偶数
stack1.append(num) # 压入 stack1
else: # 如果是奇数
stack2.append(num) # 压入 stack2
# 输出结果
print("偶数序列:", end='')
while stack1: # 当 stack1 不为空时循环
print(stack1.pop(), end=' ')
print() # 换行
print("奇数序列:", end='')
while stack2: # 当 stack2 不为空时循环
print(stack2.pop(), end=' ')
print() # 换行
```
希望我的回答解决了你的问题。
阅读全文