0

項目を単一リンクのソート済みリストに再帰的に挿入するメソッドを作成する必要があります。リストのノード クラスは次のようになります。

protected class Node<T> {

    protected Node(T data) {
        this.data = data;
    }

    protected T data;
    protected Node<T> next;
}

protected Node<E> head;

}

メソッドのシグネチャは void insert(E data) です。これを繰り返し行うことはできますが、再帰的に行う方法について頭を悩ませているようには見えません。誰でも洞察を提供できますか?

4

2 に答える 2

1

リストの最後に挿入することになっていると仮定すると、isthis.nextまで繰り返します。this.nextnull

public void insert(E data) {
    if (this.next == null) {
        // we're at the end, so actually do the insert
        // if you can do it iteratively, you should already know what to do here
    } else {
        this.next.insert(data);
    }
}
于 2012-11-29T03:58:14.697 に答える
0

開始ノードと挿入するデータを受け取る関数を作成します。

そのノードがデータを配置する適切な場所である場合は、挿入するだけです。

そうでない場合は、関数を再帰的に呼び出して、次のノードを試します。

于 2012-11-29T03:58:15.350 に答える