У меня возникли проблемы с заменой элементов в связанном списке, потому что я добавляю и сортирую в одно и то же время. Например, я хочу вставить числа 2,7,3, поэтому во время выполнения, когда я вставляю 3, я в итоге меняю его на 7, и поэтому список выглядит следующим образом: 2,3,7. Но теперь мой код теперь висит во время его обмена значениями.Замена элементов в связанном списке и сортировка
public void ADD(E num) {
Node<E> temp = new Node<>(num);
if (this.head == null) {
this.head = temp;
System.out.println("Was empty");
} else {
Node<E> lead = this.head;
Node<E> tail = this.head;
while (lead != null) {
if (lead.info.compareTo(temp.info) == -1) {//If the lead.info is less than the argument then -1 is returned.
lastNode().next = temp; // adds to the end of linked list
//System.out.println("it works");
}
if (lead.info.compareTo(temp.info) == 1) { //if the greater than we swap out
Node<E> z = lead;
lead = temp;
lastNode().next = lead;
lead=lead.next;
}
lead=lead.next;
}
}
}
какого типа является 'info'field и какова его цель? – alainlompo
Общая переменная типа. info почти сохраняет числовое значение, поэтому я могу использовать метод compareTo. –
Можете ли вы показать мне объявление этого информационного поля? Или иначе было бы объявление, такое как 'private Comparable info'works? – alainlompo