按正反序输出双链表中的所有元素
时间: 2024-02-12 07:08:18 浏览: 21
好的,我可以帮你解决这个问题。以下是按正序和反序输出双链表中所有元素的示例代码:
```python
# 定义双链表节点类
class Node:
def __init__(self, val):
self.val = val
self.prev = None
self.next = None
# 定义双链表类
class DoubleLinkedList:
def __init__(self):
self.head = None
self.tail = None
def add(self, val):
node = Node(val)
if not self.head:
self.head = node
self.tail = node
else:
self.tail.next = node
node.prev = self.tail
self.tail = node
def forward_traversal(self):
node = self.head
while node:
print(node.val, end=' ')
node = node.next
def backward_traversal(self):
node = self.tail
while node:
print(node.val, end=' ')
node = node.prev
# 测试代码
if __name__ == '__main__':
linked_list = DoubleLinkedList()
linked_list.add(1)
linked_list.add(2)
linked_list.add(3)
linked_list.add(4)
print('正序输出双链表中所有元素:')
linked_list.forward_traversal()
print('\n反序输出双链表中所有元素:')
linked_list.backward_traversal()
```
输出结果为:
```
正序输出双链表中所有元素:
1 2 3 4
反序输出双链表中所有元素:
4 3 2 1
```
希望这个示例代码能够解决你的问题。