目录
概念
代码实现
package Part10;
public class ArrayToBinary {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 6, 7};
ArrBinary a = new ArrBinary(nums);
System.out.println("前序插入");
a.perStore(0);
System.out.println("中序插入");
a.centerStore(0);
System.out.println("后序插入");
a.finalStore(0);
}
}
class ArrBinary{
//用于传输数组
private int[] arr;
public ArrBinary(int[] arr) {
this.arr = arr;
}
//前序插入
public void perStore(int n){
if(arr == null || n < 0){
System.out.println("数组空");
return;
}
System.out.println("当前插入的节点是 : " + arr[n]);
if ((n * 2 + 1) < arr.length){
perStore((n * 2 + 1));
}
if ((n * 2 + 2) < arr.length){
perStore((n * 2 + 2));
}
}
//中序插入
public void centerStore(int n){
if(arr == null || n < 0){
System.out.println("数组空");
return;
}
if ((n * 2 + 1) < arr.length){
perStore((n * 2 + 1));
}
System.out.println("当前插入的节点是 : " + arr[n]);
if ((n * 2 + 2) < arr.length){
perStore((n * 2 + 2));
}
}
//后序插入
public void finalStore(int n){
if(arr == null || n < 0){
System.out.println("数组空");
return;
}
if ((n * 2 + 1) < arr.length){
perStore((n * 2 + 1));
}
if ((n * 2 + 2) < arr.length){
perStore((n * 2 + 2));
}
System.out.println("当前插入的节点是 : " + arr[n]);
}
}