我的 AVL 树是在 Java 中使用二维整数数组实现的avlTree[35][5]
- 列代表:
- [0] - 左侧高度
- [1] - 左孩子
- [2] - 数据
- [3] - 右孩子
- [4] - 高度正确。
我从主程序调用以下方法,结果我得到了三个节点:最左边的节点两次,后跟它的父节点。
public void inorderTraversal(int root) {
if ((Main.avlTree[root][1] == 0) && (Main.avlTree[root][3] == 0)) {
System.out.println(Main.avlTree[root][2]);
} else {
if (Main.avlTree[root][1] != 0) {
root = Main.avlTree[root][1];
inorderTraversal(root);
}
System.out.println(Main.avlTree[root][2]);
if (Main.avlTree[root][3] != 0) {
root = Main.avlTree[root][3];
inorderTraversal(root);
}
}
}