Java 如果链表不为空,如何按升序添加元素

Java 如果链表不为空,如何按升序添加元素,java,linked-list,Java,Linked List,如何按升序添加不同的元素假设我的列表中已经存在5个不同的元素,并且我想在现有列表中添加新值 void add(int e) { Node nNode = new Node(); nNode.element = e; nNode.next = null; if (head == null) { head = nNode; } else { Node tNode = head; while (tNode.nex

如何按升序添加不同的元素假设我的列表中已经存在5个不同的元素,并且我想在现有列表中添加新值

void add(int e) {
    Node nNode = new Node();
    nNode.element = e;
    nNode.next = null;

    if (head == null) {
        head = nNode;
    } else {
        Node tNode = head;
        while (tNode.next != null && head.element>e) {
            head=nNode;
            nNode.next=tNode;
            tNode = tNode.next;
        }
        tNode.next = nNode;
    }
这是一个与java相关的问题,我尝试了很长时间,但对我来说没有效果。
我现在已经更改了算法,但仍然存在问题。它只是对列表最后一个元素的三个元素进行排序。它工作不正常。我想按升序对其进行排序。

您没有创建新节点来插入节点。 让我们试试下面的代码

   void aAsc(int e)
    {
    Node node = new Node();
    node.element = e;
    if(start==null)
        {
        start = node;
        }


    Node p=start;

    while(p.next!=null){
        if(p.next.element>e) {
            node.next = p.next;
            p.next = node;
            break;
        }
            p=p.next;
    }

    }

提示:向链表中添加元素需要创建新节点。您没有在发布的代码中创建任何节点。如果创建一个节点不在此部分中,则ifstart==null | | start.element>e{}node tNode;start=t if部分中的节点不是正确的英语。创建节点意味着以某种方式调用节点构造函数:新节点。你发布的代码中没有这样的指令。我已经创建了一个额外的类公共类节点{public int element;Node next;}没有任何构造函数我怎么能做到这一点?我不知道这是否有效,但您可能应该格式化answer@CyberneticTwerkGuruOrc兄弟,我在寻找答案,我正在努力解决这个问题超过10天。我想不使用任何工具来解决它constructor@TayyabGulsherVOhra我的评论实际上是针对这个答案的海报,而不是你。别担心。我们会帮你的