public class TwoTree {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7};
Tree tree = new Tree(arr);
tree.midBianLi(0);
}
}
class Tree{
private int[] arr;
public Tree(int[] arr){
this.arr = arr;
}
//前序遍历
public void preBianLi(int index){
if (arr == null || arr.length == 0){
System.out.println("数为空,不能遍历");
}
System.out.println(arr[index]);
//向左递归
if ((2 * index + 1) < arr.length){
preBianLi(2 * index + 1);
}
//向右递归
if ((2 * index + 2) < arr.length){
preBianLi(2 * index + 2);
}
}
//后序遍历
public void endBianLi(int index){
//先判断左
if ((2 * index + 1) < arr.length){
endBianLi(2 * index + 1);
}
if ((2 * index + 2) < arr.length){
endBianLi(2 * index + 2);
}
System.out.println(arr[index]);
}
//中序遍历
public void midBianLi(int index){
if ((2 * index + 1) < arr.length){
midBianLi(2 * index + 1);
}
System.out.println(arr[index]);
if ((2 * index + 2) < arr.length){
midBianLi(2 * index + 2);
}
}
}
Java数据结构---二叉排序树
最新推荐文章于 2024-08-16 23:08:28 发布