设计一个链表类,它的构造函数能复制另一个链表
时间: 2023-07-25 10:19:03 浏览: 101
好的,下面是一个简单的链表类的实现,其中包含了一个构造函数,它能够复制另一个链表:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class LinkedList:
def __init__(self, head=None):
if head is None:
self.head = None
else:
self.head = ListNode(head.val)
node = self.head
while head.next is not None:
node.next = ListNode(head.next.val)
node = node.next
head = head.next
def print_list(self):
node = self.head
while node is not None:
print(node.val, end=" ")
node = node.next
print("")
```
在上面的代码中,`ListNode` 是一个节点类,包含了一个值和一个指向下一个节点的指针。`LinkedList` 是一个链表类,包含了一个头节点指针。当我们创建一个新的链表时,如果给定了一个头节点,我们就使用它来初始化链表。否则,我们将头节点指针设置为 `None`。
在构造函数中,我们首先检查头节点是否为空。如果是,则将头节点指针设置为 `None`。否则,我们创建一个新的节点,将头节点指针设置为该节点,并使用 `while` 循环遍历链表,创建新的节点,并将其添加到新链表中。
最后,我们定义了一个辅助函数 `print_list()`,它用于将链表打印出来,以便我们可以查看链表是否正确复制了。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![](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)