怎么用代码定义应该链栈
时间: 2023-08-17 12:11:08 浏览: 22
链栈可以用链表来实现,以下是一个简单的链栈的定义:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class Stack:
def __init__(self):
self.top = None
def push(self, data):
new_node = Node(data)
if self.top is None:
self.top = new_node
else:
new_node.next = self.top
self.top = new_node
def pop(self):
if self.top is None:
return None
else:
popped_node = self.top
self.top = self.top.next
popped_node.next = None
return popped_node.data
def is_empty(self):
return self.top is None
def peek(self):
if self.top is None:
return None
else:
return self.top.data
def print_stack(self):
temp = self.top
while temp:
print(temp.data, end="->")
temp = temp.next
print("None")
```
以上代码中,定义了一个 `Node` 类作为链表的节点,每个节点包含一个数据和一个指向下一个节点的指针。然后定义了一个 `Stack` 类作为链栈,它包含一个指向栈顶节点的指针 `top`,并且实现了常见的入栈、出栈、判断栈是否为空、查看栈顶元素和打印栈的方法。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)