2.进阶题: 实现n个整数类型数据的顺序表的逆置。如: 原顺序表为1, 2,3, 4,逆置后为4, 3, 2, 1。 具体内容如下: (1) 输入一个n个整数的顺序表; (2) 输出逆置前的内容; (3) 实现顺序表的逆置; (4) 输出逆置后的内容。
时间: 2024-09-27 09:03:21 浏览: 27
在Python中,我们可以创建一个简单的顺序表(数组)并实现其逆置功能。这里是一个步骤示例:
```python
class ListNode:
def __init__(self, value=0, next=None):
self.value = value
self.next = next
def print_list(head):
current = head
while current is not None:
print(current.value, end=" ")
current = current.next
print() # 结果打印结束后换行
def reverse_list(head):
prev = None
curr = head
while curr is not None:
next_temp = curr.next # 保存当前节点的下一个节点
curr.next = prev # 将当前节点指向prev
prev = curr # 更新prev指针
curr = next_temp # 移动curr到下一个
return prev # 返回新的头节点
# 示例:
# 假设输入顺序表为:[1, 2, 3, 4]
head = ListNode(1)
head.next = ListNode(2)
head.next.next = ListNode(3)
head.next.next.next = ListNode(4)
print("原始顺序表内容:")
print_list(head)
reversed_head = reverse_list(head)
print("逆置后的顺序表内容:")
print_list(reversed_head)
```
在这个例子中,我们首先定义了一个`ListNode`类来表示顺序表中的每个元素。然后,`print_list`函数用于遍历并打印顺序表的内容,`reverse_list`函数则是通过迭代的方式实现了顺序表的逆置。
运行上述代码后,会得到:
```
原始顺序表内容:
1 2 3 4
逆置后的顺序表内容:
4 3 2 1
```
阅读全文