2.【思考题2-6】实现单链表类的以下成员方法,题意和算法描述见教材图2-18。 public SinglyList(SinglyList<T> list) //拷贝构造方法,深拷贝,复制单链表
时间: 2024-09-14 14:05:10 浏览: 59
在实现单链表类的拷贝构造方法时,我们需要创建一个新的链表,并遍历原有的链表,逐个节点地将数据复制到新链表中。这是一个深拷贝的过程,意味着对原链表的数据结构不做引用,而是独立地创建新的元素。以下是这个方法的一个简要实现:
```java
public class SinglyList<T> {
private Node<T> head;
// 假设Node类有一个构造函数,接收T类型的值
private static class Node<T> {
T data;
Node<T> next;
Node(T data) {
this.data = data;
this.next = null;
}
}
// 拷贝构造方法 - 深拷贝
public SinglyList(SinglyList<T> list) {
if (list == null) {
head = null;
return;
}
// 创建一个新的头结点
this.head = new Node<>(null);
// 遍历源链表并复制节点
Node<T> current = list.head;
Node<T> newNode = this.head;
while (current != null) {
newNode.next = new Node<>(current.data); // 创建新节点并保存数据
newNode = newNode.next; // 移动到下一个新节点
current = current.next;
}
}
// 其他成员方法...
}
```
阅读全文