java - 链表排序插入

标签 java sorting data-structures linked-list traversal

我正在尝试插入一个请求并按优先级对其进行排序,因此最高(1)位于列表中的第一个。

public Node addByPriority(Object request, int priority) {
    size++;
    //creates a new node with a priority, owner and creator and sets its next node to the root
    Node newNode = new Node(request, priority);
    //node to store prev
    Node prevNode = null;
    //node to store current
    Node currNode = first;

    //cycle thru the nodes til either the priority is higher or current is null
    while (currNode != null && priority >= currNode.getPriority()) {
        prevNode = currNode;
        currNode = currNode.getNext();
    }
    if (prevNode == null) {
        newNode.setNext(first);
        first = newNode;
    }
    else {
        prevNode.setNext(newNode);
        newNode.setNext(currNode);
    }
    // what would be the return statement??
}  

它说我需要一个返回语句,但不确定必须输入什么,或者是否有其他方法。

最佳答案

您没有说明您应该返回什么Node,但按理说您会返回新创建的节点:

return newNode;

关于java - 链表排序插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53251534/

相关文章:

java - 如何将 Java .jar 编译/打包为 Mac OS X 命令行工具?

python - 根据另一个列表对列表列表进行排序

sorting - 在Flutter中对嵌套列表进行排序

c++ - 删除右 child 使父左指针指向 nullptr

java - Hibernate 通过非 id 列关联两个实体

java - 如何重新初始化一个Spring Bean?

algorithm - 排序算法中决策树分析

c - 使用指针和两个结构数组进行桶排序

Python字典在第一个之后不添加后续键

java - 如何在 jooq 中管理 DSLContext? (关闭连接)