二叉树的先序创造与先序,中序,后序打印
二叉树的先序创建与先序,中序,后序打印
直接贴点代码
public class Test {
public static void main(String []args){
//二叉树的生成
BinTree binTree=new BinTree();
int arr[]={2,4,7,6,1,5,8};
binTree.buileTree(arr);
binTree.print();
}
}
package com.tree.sym;
/*
* 采用的方式是先序创建二叉树,然后分别通过中序和后续打印出来
* 父节点的值比左子节点大,比右节点小
*/
public class BinTree {
Node rootNode;
int i=0;
private class Node {
int data;
Node left;
Node right;
Node(int data) {
this.data = data;
left = null;
right = null;
}
}
public BinTree() {
}
public void insert(int data) {
rootNode = insert(rootNode, data);
}
//运用递归,把各个节点按顺序储存起来
private Node insert(Node node, int data) {
if (node == null) {
node = new Node(data);
} else {
if (data <= node.data) {
node.left = insert(node.left, data);
} else {
node.right = insert(node.right, data);
}
}
return node;
}
public void buileTree(int[] arr) {
for (int i = 0; i < arr.length; i++) {
insert(arr[i]);
}
}
public void print() {
print(rootNode);
}
public void print(Node node) {
if(node==null){
return;
}
System.out.println(node.data);//通过先序打印出来
print(node.left);
// System.out.println(node.data);//通过中序打印出来
print(node.right);
// System.out.println(node.data);//通过后序打印出来
}
}
最后祝自己女生节快乐!
直接贴点代码
public class Test {
public static void main(String []args){
//二叉树的生成
BinTree binTree=new BinTree();
int arr[]={2,4,7,6,1,5,8};
binTree.buileTree(arr);
binTree.print();
}
}
package com.tree.sym;
/*
* 采用的方式是先序创建二叉树,然后分别通过中序和后续打印出来
* 父节点的值比左子节点大,比右节点小
*/
public class BinTree {
Node rootNode;
int i=0;
private class Node {
int data;
Node left;
Node right;
Node(int data) {
this.data = data;
left = null;
right = null;
}
}
public BinTree() {
}
public void insert(int data) {
rootNode = insert(rootNode, data);
}
//运用递归,把各个节点按顺序储存起来
private Node insert(Node node, int data) {
if (node == null) {
node = new Node(data);
} else {
if (data <= node.data) {
node.left = insert(node.left, data);
} else {
node.right = insert(node.right, data);
}
}
return node;
}
public void buileTree(int[] arr) {
for (int i = 0; i < arr.length; i++) {
insert(arr[i]);
}
}
public void print() {
print(rootNode);
}
public void print(Node node) {
if(node==null){
return;
}
System.out.println(node.data);//通过先序打印出来
print(node.left);
// System.out.println(node.data);//通过中序打印出来
print(node.right);
// System.out.println(node.data);//通过后序打印出来
}
}
最后祝自己女生节快乐!