我必须创建一个按字母顺序排序的节点类,所以我认为它是一个单链表。我应该“递归地”创建它,我对此感到困惑。我必须实现查询列表的基本方法,这很容易但我仍然坚持初始化部分,尤其是添加节点。
任何帮助?
我的代码现在看起来像这样:
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;
}
}
答案 0 :(得分: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);
}
}