直接贴代码
只需要修改中间打印的位置,放在最前面就是先序遍历,放在中间,就是中序遍历,放在后面就是后序遍历;
贴代码
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
Node head=new Node(1,null,null);
initNode(head);
printf(head);
}
public static void initNode(Node head){
Node node1=new Node(2,null,null);
Node node2=new Node(3,null,null);
Node node3=new Node(4,null,null);
Node node4=new Node(5,null,null);
head.setLeft(node1);
head.setRight(node2);
node1.setLeft(node3);
node1.setRight(node4);
/* System.out.println(head.getData());
System.out.println(head.getLeft().getData());
System.out.println(head.getRight().getData());*/
}
public static void printf(Node node){
Node p=node;
if (p!=null){
printf(p.getLeft());
printf(p.getRight());
System.out.print("当前元素是"+p.getData());
}
}
}class Node {
private int data;
private Node left;
private Node right;
public Node(int data) {
this.data = data;
}
public Node init(){
Node node=null;
return node;
}
public Node(int data, Node left, Node right) {
this.data = data;
this.left = left;
this.right = right;
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public Node getLeft() {
return left;
}
public void setLeft(Node left) {
this.left = left;
}
public Node getRight() {
return right;
}
public void setRight(Node right) {
this.right = right;
}
}
数据我这里是简单的创建,可以自己创建一个循环去做,也可以自己搭建一个二叉树出来,我只是简单的搭建了一个二叉树出来欢迎交流~~~~~~~