Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BinarySearchingTree-dll(通用),我的项目可以';不能添加到我的adt中_Java_Generics_Adt_Doubly Linked List - Fatal编程技术网

Java BinarySearchingTree-dll(通用),我的项目可以';不能添加到我的adt中

Java BinarySearchingTree-dll(通用),我的项目可以';不能添加到我的adt中,java,generics,adt,doubly-linked-list,Java,Generics,Adt,Doubly Linked List,我在想我做错了什么,谁能帮帮我吗?我正在尝试使用DDL(双链表)数据结构制作一个通用的BST。问题是我的ADT是初始化的,因为我的isEmpty方法可以工作,但是我的public addNewElement却不能工作,它起诉private insert。欢迎提供任何帮助和建议 接口: public interface SortedSetBST <type> extends Iterable<type>{ void addNewElement(Com

我在想我做错了什么,谁能帮帮我吗?我正在尝试使用DDL(双链表)数据结构制作一个通用的BST。问题是我的ADT是初始化的,因为我的
isEmpty
方法可以工作,但是我的
public addNewElement
却不能工作,它起诉
private insert
。欢迎提供任何帮助和建议

接口:

public interface SortedSetBST <type> extends Iterable<type>{
            void addNewElement(Comparable<type> newElement);

    }
这是清楚的

在“insert”中,检查t是否为null。如果是这种情况,则使用BinaryNode实例初始化参数t,认为在第一次传入为“null”时也会更新root。但是“null”在Java中是“null”,而不是您可能认为的C风格的地址

然后返回此参数,但返回值在“addNewElement”中丢失

如何做到这一点:

if( t == null ) {
   if (root == null){
      root = new BinaryNode(x);
      return root;
   } else {
      t = new BinaryNode( x );
   }
}

谢谢你,这里正在施工的新手:)
public class App {
    public static void main(String [] args){
        System.out.println("   Main:");
        BinarySearchTree <String> db = new BinarySearchTree<String>();

        if(db.isEmpty() == true){
            System.out.println(".db empty!");
        }
        db.addNewElement("unu");
        db.addNewElement("doi");
        db.addNewElement("trei");
        System.out.println(db.getSize());
    }
}
   Main:
.db empty!
0
if( t == null ) {
   if (root == null){
      root = new BinaryNode(x);
      return root;
   } else {
      t = new BinaryNode( x );
   }
}