0

私は現在、大学の Java コースで二重リンク リスト プロジェクトに取り組んでいます。二重連結リスト、連結リスト、およびリストの概念を理解しています。ただし、メソッドで変更する必要があるデータを作成する方法がわからないため、プログラムを作成するのに多くの問題があります。私たちの教授は通常、彼が使用する情報を私たちに提供しますが、今回は提供しませんでした。私の研究ではそれを理解できないようです.

私の主な質問は、誰かが私が作業を開始するためのコードを書き、私のメソッドがより良くする必要があることを理解し始めることができるかということだと思います.

これが私がこれまでに持っているものです。(基本的にはオーバーライド スケルトンのみ..)

助けてくれてありがとう。

import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class DoublyLinkedList<E> implements List<E>{

DoublyLinkedListNode header;

public static void main(String[] args) {

}
public boolean add(E e) {
    return false;
}
public void add(int index, E element) {

}
public boolean addAll(Collection<? extends E> c) {
    return false;
}
public void clear() {
    header=null;
}
public boolean contains(Object o) {
    return false;
}
public E get(int index) {
    return null;
}
public int indexOf(Object o) {
    return 0;
}
public boolean isEmpty() {
    return header == null;
}
public int lastIndexOf(Object o) {
    return 0;
}
public ListIterator<E> listIterator() {
    return null;
}
public boolean remove(Object o) {
    return false;
}
public E remove(int index) {
    return null;
}
public int size() {
    return 0;
}
public Object[] toArray() {
    return null;
}
private class DoublyLinkedListNode{
    DoublyLinkedListNode next;
    DoublyLinkedListNode last;
    E contents;
}

//extra credit
private class DoublyLinkedListItr  implements java.util.ListIterator{

    public void add(Object arg0) {

    }
    public boolean hasNext() {

        return false;
    }
    public boolean hasPrevious() {

        return false;
    }
    public Object next() {

        return null;
    }
    public int nextIndex() {

        return 0;
    }
    public Object previous() {

        return null;
    }
    public int previousIndex() {

        return 0;
    }
    public void remove() {

    }
    public void set(Object arg0) {

    }

}
public ListIterator<E> listIterator(int index) {
    throw new UnsupportedOperationException("not implemented");
}
public <T> T[] toArray(T[] a) {
    throw new UnsupportedOperationException("not implemented");
}
public List<E> subList(int fromIndex, int toIndex) {
    throw new UnsupportedOperationException("not implemented");
}
public boolean retainAll(Collection<?> c) {
    throw new UnsupportedOperationException("not implemented");
}
public E set(int index, E element) {
    throw new UnsupportedOperationException("not implemented");
}
public boolean removeAll(Collection<?> c) {
    throw new UnsupportedOperationException("not implemented");
}
public boolean addAll(int index, Collection<? extends E> c) {
    throw new UnsupportedOperationException("not implemented");
}
public Iterator<E> iterator() {
    throw new UnsupportedOperationException("not implemented");
}
public boolean containsAll(Collection<?> c) {
    throw new UnsupportedOperationException("not implemented");
}

}

4

2 に答える 2

0

ノードを作成し、そこに値を格納します。

ヘッダーが null の場合、ヘッダーが新しいノードを参照するようにします。

ヘッダーが null でない場合は、指しているノードを取得し、next が null でない限り、next によって参照されるノードを取得します。next が null の場合、リストの最後にいるので、次の参照を取得して、新しく作成したノードを参照させます。次に、新しいノードの最後の (以前と呼んでいた) 参照を取得し、見つかったノード (リストの最後) を参照させます。

これで始められるはずです。

于 2011-12-02T20:51:20.300 に答える
0

ここでデータを作成するためのスニペットは次のとおりです。

public static void main(String[] args) {
  DoublyLinkedList<String> doublyLinkedList = new DoublyLinkedList<String>();
  doublyLinkedList.add("Hello");
  doublyLinkedList.add("World");
  // If you want to store int
  DoublyLinkedList<Integer> dlli = new DoublyLinkedList<Integer>();
  dlli.add(new Integer(10));
  dlli.add(new Integer(5));
}

これがあなたが探しているものであることを願っています。

于 2011-12-03T02:04:38.447 に答える