借助一个空栈tmp,将一个非空栈S中值为value的元素全部删去,最后打印出栈S中的数据。
时间: 2024-06-12 15:05:33 浏览: 79
定积分第一中值定理的改进与应用[6]
算法思路:
- 遍历非空栈S中的每个元素,如果元素的值不等于value,则将其入栈tmp中。
- 遍历完成后,清空栈S,并将tmp中的元素全部出栈并入栈S中。
- 最后打印出栈S中的数据。
Python代码实现:
```python
def remove_elements(S, value):
tmp = []
while len(S) > 0:
if S[-1] != value:
tmp.append(S.pop())
else:
S.pop()
while len(tmp) > 0:
S.append(tmp.pop())
print(S)
S = [1, 2, 3, 4, 5, 3, 6, 7, 3]
value = 3
remove_elements(S, value)
```
输出结果:
```
[1, 2, 4, 5, 6, 7]
```
阅读全文