java实现多重链表结构
时间: 2023-07-11 07:37:36 浏览: 51
Java中可以通过自定义类来实现多重链表结构,下面给出一个简单的示例代码:
```java
public class MultiLinkedList {
private Node head;
private class Node {
int data;
Node right;
Node down;
public Node(int data) {
this.data = data;
this.right = null;
this.down = null;
}
}
public MultiLinkedList() {
head = null;
}
public void insert(int data) {
head = insert(head, data);
}
private Node insert(Node node, int data) {
if (node == null) {
node = new Node(data);
} else if (node.data > data) {
Node temp = new Node(data);
temp.down = node;
node = temp;
} else {
node.right = insert(node.right, data);
}
return node;
}
}
```
该类中的`Node`类表示链表中的节点,包含一个`data`字段和两个指针`right`和`down`,分别指向右侧和下方的节点。`MultiLinkedList`类中包含一个`head`指针,指向链表的头节点。
在该类中,提供了一个`insert`方法,用于向链表中插入一个新的元素。该方法首先判断链表是否为空,如果为空则直接插入一个新节点。如果要插入的元素小于当前节点的值,则创建一个新节点,并将其下指针指向当前节点,然后将该节点作为新的头节点。否则,递归调用`insert`方法,将其插入到当前节点的右侧子链表中。
使用该类时,可以创建一个实例并调用`insert`方法插入元素,例如:
```java
MultiLinkedList list = new MultiLinkedList();
list.insert(1);
list.insert(2);
list.insert(3);
```
这样就创建了一个包含三个元素的多重链表。