1. 编写程序,实现栈的基本操作。 (1)建立栈并进行元素(8,9,5,4)入栈,实现顺序栈的建立及入栈的基本操作; (2)输出栈的长度。(实际存储元素的个数) (3)取栈顶元素并输出。 (4)实现栈顶元素(4)的出栈,实现出栈操作; (5)输出栈的所有元素。
时间: 2024-02-03 22:02:04 浏览: 79
一、以下是栈的基本操作的代码实现:
```python
class Stack:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def size(self):
return len(self.items)
```
二、使用上面定义的栈类,实现题目要求的操作:
```python
# 建立栈并进行元素(8,9,5,4)入栈,实现顺序栈的建立及入栈的基本操作;
my_stack = Stack()
my_stack.push(8)
my_stack.push(9)
my_stack.push(5)
my_stack.push(4)
# 输出栈的长度。(实际存储元素的个数)
print(my_stack.size())
# 取栈顶元素并输出。
print(my_stack.peek())
# 实现栈顶元素(4)的出栈,实现出栈操作;
my_stack.pop()
# 输出栈的所有元素。
while not my_stack.is_empty():
print(my_stack.pop())
```
输出结果为:
```
4
4
5
9
8
```
有了这个栈的操作,你可以轻松处理一些需要“先近后出”的问题,比如括号匹配、表达式求值等问题。感谢你的提问,我希望我的回答对你有所帮助。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)