建立一個二叉樹的順序存儲類,按照先序遍歷的方式將二叉樹存儲起來。
public class BinaryTreeByArray {
int[] data;
public BinaryTreeByArray(int[] data){
this.data = data;
}
public void preOrder(){
preOrder(0);
}
public void preOrder(int index){
if (data == null || data.length == 0){
return;
}
//輸出當前節點的內容
System.out.println(data[index]);
//遍歷左子樹
if (2 * index + 1 < data.length){
preOrder(2 * index + 1);
}
//遍歷右子樹
if (2 * index + 2 < data.length){
preOrder(2 * index + 2);
}
}
}
測試類,用於測試二叉樹的順序存儲類。
public class TestBinaryTreeByArray {
public static void main(String[] args) {
int[] data = new int[]{1,2,3,4,5,6,7,8,9,0};
BinaryTreeByArray binaryTreeByArray = new BinaryTreeByArray(data);
binaryTreeByArray.preOrder();
}
}