public class Node<T> {
private Node<T> parent;
private Node<T> leftChild;
private Node<T> rightChild;
private Node<T> upChild;
private Node<T> downChild;
private T data;
public Node() {}
public Node(T data) {
this.data = data;
}
public Node<T> getParent() {
return parent;
}
public Node<T> getLeftChild() {
return leftChild;
}
public Node<T> getUpChild() {
return upChild;
}
public Node<T> getRightChild() {
return rightChild;
}
public Node<T> getDownChild() {
return downChild;
}
public T getData() {
return data;
}
public void setParent(Node<T> parent) {
this.parent = parent;
}
public void setLeftChild(Node<T> leftChild) {
this.leftChild = leftChild;
}
public void setRightChild(Node<T> rightChild) {
this.rightChild = rightChild;
}
public void setData(T data) {
this.data = data;
}
public void setUpChild(Node<T> upChild) {
this.upChild = upChild;
}
public void setDownChild(Node<T> downChild) {
this.downChild = downChild;
}
class LinkdList<T> {
private Node<T> head;
private Node<T> taill;
public void append(Node<T> data) {
if(head == null) {
head = data;
tail = data;
} else {
tail.setRightChild(data);
data.setLeftChild(tail);
tail = data;
}
}
}
public static void main(String[] args) {
Node<Integer> root = new Node<>(10);
Node<Integer> leftChild = new Node<>(5);
leftChild.setParent(root);
root.setLeftChild(leftChild);
Node<Integer> rightChild = new Node<>(15);
rightChild.setParent(root);
root.setRightChild(rightChild);
Node<Integer> upChild = new Node<>(8);
upChild.setParent(root);
root.setUpChild(upChild);
Node<Integer> downChild = new Node<>(7);
downChild.setParent(root);
root.setDownChild(downChild);
System.out.println("根节点数据: " + root.getData());
System.out.println("左子节点数据: " + root.getLeftChild().getData());
System.out.println("右子节点父节点数据: " + rightChild.getParent().getData());
System.out.println("上子节点数据: " + root.getUpChild().getData());
System.out.println("下子节点父节点数据: " + downChild.getParent().getData());
}
}