Я попытался написать метод сортировки связанного списка. Это тренировка Java для меня.JAVA - сортировка связанного списка по убыванию
метод должен получить связанный список со значениями и отсортировать его с помощью сортировки . но не обычный выбор сортировка, но выбор сортировки, которые находят наибольшее количество и помещают его в начало связанного списка. пока список не будет отсортирован.
Я пробовал следить за отладчиком, но я не могу понять, что я сделал неправильно.
это то, что я устал:
public IntList selectionSort()
{
IntNode tempMax = _head;
IntNode current = _head;
IntNode fromHere = null;
IntNode toHere = _head;
IntNode prev = null;
while(toHere != null)
{
current = toHere;
tempMax = toHere;
while (current != null)
{
if (current.getNext() != null && current.getNext().getValue() > tempMax.getValue())
{
prev = current;
tempMax = current.getNext();
current = current.getNext();
}
else current = current.getNext();
}
prev.setNext(prev.getNext().getNext());
tempMax.setNext(toHere);
if (fromHere == null)
_head = tempMax;
else fromHere.setNext(tempMax);
fromHere = tempMax;
toHere = fromHere.getNext();
}
return this;
}
Почему бы вам просто не перемещать значения внутри «IntNode», а перемещать «IntNode». – UmNyobe
Не могли бы вы добавить некоторые комментарии в свой код? Мне сложно отслеживать, какая переменная используется для чего. –