java - 在排序链表中添加方法

标签 java linked-list

public void add(Racer o) {

        LinkedListNode added = new LinkedListNode(o);
        LinkedListNode first = head;
        LinkedListNode last = tail;

        Racer First = (Racer) first.getElement();
        Racer Added = (Racer) added.getElement();
        Racer Last = (Racer) last.getElement();

        if (First.time >= Added.time) {
          added.setNext(head);
          head = added;
        }

        else {
          while(true){
                      .
                      .
                      .
                      .
                      .
                      .

我要对链表中赛马的时间记录进行排序

我真的不知道如何编写 SortedLinkedList 的 add 方法...

我已经在上面编写了一些代码来开始

有人可以帮我吗?

最佳答案

已实现的 else 子句:

else {
          LinkedListNode pre = first;
          LinkedListNode node = first.getNextNode();
          while(true){
              if(node == null || node.getElement().time >= added.getElement().time) break;
              pre = node;
              node = node.getNext();
          }
          pre.setNext(added);
          added.setNext(node);
          if(node == null) tail = added;
}

请注意,getNextsetNext 方法应按照名称所暗示的方式进行定义。

关于java - 在排序链表中添加方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18690718/

相关文章:

java - Hibernate 中数据库 View 的映射和 POJO 类创建

c - 如何将链表从最后一个列表移动到 C 中的前面列表?

c - 轻松合并2个链表

java - 如何将汉宁函数应用于我的音频样本?

java - JMH 基准测试 - 比较替代实现的运行时间的简洁方法

c++ - 我得到一个没有被忽略的无效值,因为它应该是错误的,为什么?

C++:双向链表删除函数中的段错误

c++ - 令人抓狂的链表问题

java - 在java中将多个位置的本地日期时间转换为UTC

java - 从控制台读取 int