-1

我必须创建一个按字母顺序排序的节点类,所以我认为它是一个单链表。我应该“递归地”创建它,我对此感到困惑。我必须实现查询列表的基本方法,这很容易,但我被困在初始化部分,尤其是添加节点。

有什么帮助吗?

我的代码现在看起来像这样:

public class SortedSetNode implements Set {
   protected String value;
   protected SortedSetNode next;

   public SortedSetNode(String v, SortedSetNode n) {
      //value = v;
      //next = n;
   }
   public SortedSetNode(String v) {
      //value = v;
   }

}

4

1 回答 1

0

这就是我实现排序列表的方式。注意:列表不是集合。

public class SortedList<E extends Comparable<E>> {
    private SortedNode<E> head = null;

    public void add(E e) {
        SortedNode<E> node = new SortedNode<E>(e);
        if (head == null || head.e.compareTo(e) <= 0) {
            node.next = head;
            head = node;
        } else {
            head.add(node);
        }
    }
}

public class SortedNode<E extends Comparable<E>>  {
    final E e;
    SortedNode<E> next;

    public SortedNode(E e) {
        this.e = e;
    }

    public void add(SortedNode<E> node) {
        if (next == null || e.compareTo(node.e) <= 0) {
            node.next = next;
            next = node;
            return;
        }
        next.add(node);
    }
}
于 2013-09-22T23:19:28.240 回答