1、Node类中建立的递归(Easy):
见toString和Node.class中的inOrder方法
package tree;
import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
/**
* 排序二叉树
* E extends Comparable<E>指的是
* E这个类型要实现Comparable接口,这样方便比较大小
*@author Edward
*@date 2020年7月1日---上午11:33:51
*/
public class Tree <E extends Comparable<E>>{
// root存放根节点的引用
private Node root;
public Node getRoot() {
return root;
}
public void setRoot(Node root) {
this.root = root;
}
/*
* Node类用于描述二叉树中的某个节点,其中,
* data用于存放数据(元素),left和right分别
* 存放其左右子树的引用。
*/
class Node{
E data;
Node left;
Node right;
Node(E e) {
data = e;
}
public boolean append(E e) {
// 相等不用添加(排序二叉树不允许重复元素)
if (data.compareTo(e)==0) {
return false;
}
// 如果要添加的元素比根节点元素小,则添加到左子树
if (data.compareTo(e