Если кто-нибудь может помочь мне разобраться в этом вопросе, я буквально дам вам моего первенца.Извиняюсь за любые проблемы с форматированием и т. Д., Так как это моя первая публикация (пожалуйста, будьте осторожны со мной !!).
В настоящее время я борюсь с методом добавления для общего класса связанного списка.Вот его описание: Вставляет указанный объект в указанную позицию в этом списке.Смещает объект, находящийся в данный момент в этой позиции (если есть), и любые последующие объекты вправо (т. Е. Добавляет один к их индексам).
Вот код, который у меня есть в настоящее время для метода, за исключениемобработка исключений.
next = head;
size++;
for (int i = 0; i < index; i++) {
next = next.getNext();
} // for
GenListNode<T> prev = next;
GenListNode<T> current = next;
for (int count = 0; count < size - 1; count++) {
prev = next;
current = next;
for (int i = count; i < size - 3; i++) {
prev = prev.getNext();
} // for
for (int j = count; j < size - 2; j++) {
if (current.getNext() == null) {
current.setNext(new GenListNode<T>());
} // if
current = current.getNext();
} // for
current.setData(prev.getData());
} // for
next.setData(obj);
Вот код моего класса GenListNode.
private GenListNode<T> next;
private T data;
public GenListNode(T data, GenListNode<T> next) {
this.next = next;
this.data = data;
} // GenListNode
public GenListNode(T data) {
this.data = data;
} // GenListNode
public GenListNode() {
} // GenListNode
public void setData(T data) {
this.data = data;
} // setData
public void setNext(GenListNode<T> n) {
this.next = n;
} // setNext
public T getData() {
return data;
} // getData
public GenListNode<T> getNext() {
return next;
} // getNext
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что когда я добавляю объект в индекс где-то вВ середине списка это работает, однако, когда я пытаюсь добавить в начало списка, самый последний элемент списка исчезает.В общем, этот код стал несколько запутанным и запутанным, и он не делает то, что должен делать.Любая помощь приветствуется, и если есть что-то, что я могу уточнить, пожалуйста, дайте мне знать.